c++ reference
-
Hallo!
Kann mir jemand erklären, wie ich folgende Funktionalität mit einer Reference schaffen kann:
Ich hab eine Klasse HatVector. Wie schon im Namen besitzt diese Klasse einen Vektor vector<int>my_vector als Member.
Es gibt eine andere Klasse ManipulateVector. Diese Klasse besitzt einige Methoden um den Vektor zu manipulieren.
Ich möcht jetzt gern in der Klasse HatVector eine Instanz von ManipulateVector haben. Mit was soll ich den Konstruktor und die Methode aufrufen, ich versteh da einfach nicht, wann ich das & setzen muss, und wann nicht. Es wär super, wenn mir wer die Fragenzeichen ersetzen könnte.class HatVector{
vector<int> my_vector;
.....
}class ManipulateVector{
??referenz_auf_vector??;
// Konstruktor
ManipulateVector(????);//Methoden zur Vektormanipulation
void firstMethode();
void secondMethode();
}ManipulateVector::ManipulateVector(??arg??)
{
??referenz_auf_vector?? = ??arg??;
}void ManipulateVector::firstMethode()
{
??referenz_auf_vector??[10] = 10;
}Ich bin dankbar für jede Hilfe.
lg
Christl
-
Obwohl deine Angaben widersprüchlich sind (
Ich möcht jetzt gern in der Klasse HatVector eine Instanz von ManipulateVector haben
) versuch ich mal zu antworten:
Es dürfte in etwa so aussehen:
class HatVector{ vector<int> my_vector; ..... } class ManipulateVector{ HatVector& hv; // Konstruktor ManipulateVector(HatVector v):hv(v) { } //Methoden zur Vektormanipulation void firstMethode(); void secondMethode(); }