mile04
17-04-2005, 15:04
hallo
also ich habe 2 Klassen im Programm:
class CA
{ private:
int a;
vector<int> 1dvec;
public:
fa1();
fa2();
};
class CB
{ private:
int b;
vecor<vector<int> > 2dvec;
public:
fb1();
fb2();
};
soviel ich weiss wenn man jetzt mit der fb1()von der Klasse CB auf die Elemente von der Klasse CA z.B.(auf die Variable a)zugreifen bzw. ändern möchte soll man in dem Fall :
1.Variante:
eine Vererbung machen . Also die Klasse CB soll die Klasse CA vererben.un der Zugriff von der Klasse CB auf der Klasse CA erfolgt problemlos.
mir wurde empfohlen die
2. Variante:
die Variablen der Klasse CA als public definieren und ein Pointer in der Klasse CB vom datentyp der Klasse CA implementieren:
class CB
{ public:
CA *pointer;
....
};
dadurch ist auch einen Zugriff von der Klasse CB auf Elemente der Klasse CA möglich.
welche Variante ist richtig bzw. die üblichste zu verwenden. was sind die Vor und Nachteile jeder Variante?
Danke schön
also ich habe 2 Klassen im Programm:
class CA
{ private:
int a;
vector<int> 1dvec;
public:
fa1();
fa2();
};
class CB
{ private:
int b;
vecor<vector<int> > 2dvec;
public:
fb1();
fb2();
};
soviel ich weiss wenn man jetzt mit der fb1()von der Klasse CB auf die Elemente von der Klasse CA z.B.(auf die Variable a)zugreifen bzw. ändern möchte soll man in dem Fall :
1.Variante:
eine Vererbung machen . Also die Klasse CB soll die Klasse CA vererben.un der Zugriff von der Klasse CB auf der Klasse CA erfolgt problemlos.
mir wurde empfohlen die
2. Variante:
die Variablen der Klasse CA als public definieren und ein Pointer in der Klasse CB vom datentyp der Klasse CA implementieren:
class CB
{ public:
CA *pointer;
....
};
dadurch ist auch einen Zugriff von der Klasse CB auf Elemente der Klasse CA möglich.
welche Variante ist richtig bzw. die üblichste zu verwenden. was sind die Vor und Nachteile jeder Variante?
Danke schön