Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Kleines C++ Problem
Kleines C++ Problem
Tic
19.03.10
06:35
Seit langer Zeit muss ich wieder mal was mit C++ machen (Classes)
ich habe eine Klasse
class A {
private:
B &objekt;
public:
A();
};
class B {
private:
B(const B &source);
B &operator=(const B& source);
public:
B();
virtual ~B() throw();
};
B ist gegeben daher darf ich daran nichts verändern. Ich muss auch B (in A) genau mit dem &operator Deklarieren.
Laut eines Beispieles wird die main folgender Maßen aufgerufen
main() {
B b;
A *a = new A(b);
}
Bei verschiedensten Variationen kams immer soweit, dass er schrieb (beim Kompilieren):
Error in A.h Fehler B & Oparator is Private
Könnte mir vielleicht einer von euch paar Tipps geben wie ich das ganze Erweitern muss, dass zumindest der Main aufruf ohne probs verläuft
Hilfreich?
0
Kommentare
Windläufer
19.03.10
08:01
Na ich würde mal behaupten der Consturctor von A ist falsch.
So kannste kein b übergeben.
Grüße
Hilfreich?
0
Navier-Stokes
19.03.10
08:37
Hi!
1) Windkäufer hat recht. Es gibt keinen solchen Konstruktor. Er könnte so aussehen:
A(B &b):
objekt(b)
{
}
Jetzt musst Du zusehen, dass Dein copy-constructor
B(const B &source);
oder dein Zuweisungsoperator
B &operator=(const B& source);
public wird.
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
Tic
19.03.10
16:46
Habe eine Lösung gefunden und zwar...
A(B &b):objekt(b) {}
trotzdem thx!
Hilfreich?
0
Navier-Stokes
19.03.10
20:42
Tic
Habe eine Lösung gefunden und zwar...
A(B &b):objekt(b) {}
trotzdem thx!
Wieso trotzdem?
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
Tic
19.03.10
21:56
Navier-Stokes
Wieso trotzdem?
Naja weil es nicht genau die Antwort auf meine Frage war, aber trotzdem sehr bemüht
Wie ich oben Angeführt habe, war ich nichts an B verändern, dass heißt auch nicht aus private public machen
Wie gesagt, thx trotzdem
Hilfreich?
0
Navier-Stokes
19.03.10
23:28
Wundert mich, dass es so geht. A(b) ruft den privaten Konstruktor von B auf!?!
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
Desperado
20.03.10
01:25
B &object ist selber eine Referenz, der in der Initialisierungsliste lediglich eine andere Referenz zugewiesen wird. Daher wird auch der Kopierkonstruktor nicht aufgerufen.
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Aufpreise, Vergleich zu M3 und Spezifikationen:...
Erscheint das neue MacBook Air M4 früher als an...
20 Jahre Mac mini
News zur Mac-Woche: MacBook Pro mit 24 GB RAM? ...
Facebook & Instagram: Zuckerberg kündigt Aus de...
iPhone SE 4 von allen Seiten – Dummy aufgetauch...
iPad Pro M4: Hinweise auf geringere Nachfrage
Mac OS X: 25 Jahre Aqua, 25 Jahre Dock