Vzajemne propojene objekty – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vzajemne propojene objekty – C / C++ – Fórum – Programujte.comVzajemne propojene objekty – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
xJakubS0
Newbie
30. 3. 2012   #1
-
0
-

Ahoj, 

ve strucnosti. Vytvarim mapu a vector, ktere jsou vzajemne propojene pomoci ukazatelu.

Mapa bude obsahovat objekty Data (, ktera ma v sobe jen promenne k urcitym datum.) Bude to hlavni pamet, do ktere se bude ukladat podle klice pro hledani.

Vector bude obsahovat objekty Key (, coz je ukazatel na jednotlive objekty v mape.) Ten bude usporadany dle jinych parametru (ale to je jedno).

#ifndef DATA_H
#define DATA_H

#include <iostream>
using namespace std;

class Data {
public:
  Data();
  ~Data();
  
  void setProtocol(unsigned int);
  unsigned int getProtocol();
  void setSrcip(string);
  string getSrcip();
  void setDstip(string);
  string getDstip(); 
  
  Key *ptrKey; //### CHYBA
  
private:
  unsigned int protocol;  
  string srcip;
  string dstip;
};


class Key {
public:
  Key();
  ~Key();
  
  Data *ptrData;
};

Takze...

mapa obsahuje objekty s daty + ukazatel na prvek ve vectoru.

vector obsahuje objekty s ukazately na dany prvek v mape.

a píše mi to tuhle chybu (na radek s komentem ###)

error: ‘Key’ does not name a type

je mi jasne ze to Key jeste nezna, protoze je definovany az po tomto prikazu.ale jak to provazat?

Nahlásit jako SPAM
IP: 46.47.170.–
Je beznadějné udělat blbuvzdorný program, protože blbci jsou geniální.
JoDiK
~ Anonymní uživatel
987 příspěvků
30. 3. 2012   #2
-
0
-
Nahlásit jako SPAM
IP: 88.103.236.–
JoDiK
~ Anonymní uživatel
987 příspěvků
30. 3. 2012   #3
-
0
-

Moc jsem to nečetl, jen jsem hledal, jestli má C-čko něco jako má Pascal... Forward zavede jméno ještě před jeho skutečnou deklarací, takže ho zle využít jako součást jiné struktury v předchozí deklaraci.

Nahlásit jako SPAM
IP: 88.103.236.–
xJakubS0
Newbie
30. 3. 2012   #4
-
0
-

#3 JoDiK
Jo, forward deklaraci u funkci znam... ale tady se jedna o objekty... a zde si nejsem jisty, jestli to jde a jak to pouzit :-(

Nahlásit jako SPAM
IP: 46.47.170.–
Je beznadějné udělat blbuvzdorný program, protože blbci jsou geniální.
Řešení
zlz
~ Anonymní uživatel
634 příspěvků
30. 3. 2012   #5
-
0
-
Vyřešeno Nejlepší odpověď

   

class Key;

class Data { ... };

class Key { ... };
Nahlásit jako SPAM
IP: 213.211.51.–
xJakubS0
Newbie
30. 3. 2012   #6
-
0
-

#5 zlz
dik, jak nevedel ze to jde i takhle u objektu.... :-) jsem de*il

Nahlásit jako SPAM
IP: 46.47.170.–
Je beznadějné udělat blbuvzdorný program, protože blbci jsou geniální.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 33 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý