PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : map übergeben



ogre
19-01-2006, 16:53
hallo,

hat eine von euch eine ahnung, wie man in c++ eine map von einer klasse zur nächsten weitergibt, quasi vererbt?

thx :confused:

Joghurt
19-01-2006, 16:57
Kannst du die Frage umformulieren?

Die Antwort auf deine jetzige Frage wäre nämlich
class A
{
protected:
std::map<int> MyMap
...
};

class B : public A
{
...
}; // B hat A.MyMap geerbt

ogre
19-01-2006, 17:25
funktioniert das auslesen dann so???

class A
{
protected:
std::map<int> Mymap

};

class B : public A
{

MapIterator<int> i(A.MyMap)
cout << …..
};

Joghurt
19-01-2006, 17:26
MyMap reicht, nicht A.MyMap

RHBaum
20-01-2006, 10:17
Vererbung iss aber auch nicht aller Fragen Antwort ^^

prinzipiell kannst du auch auf Vorhandende Klassen/Strukturen verweisen (per zeiger oder besser per referenz )

class A
{
friend class B;
private:
std::map<int> mMap;
};

class B
{
public:
B(const A & rx):mrMap(A.mMap) {} // Header impl der einfachheit halber
private:
std::map<int> & mrMap;
};

Oft isses aber Performance technisch nich so kritisch, das man fuer die "sicherheit" un d Ubersichtlichkeit lieber ne kopie macht, besonders wenn die map nich sonderlich gross ist .....

Ciao ...