C++ Übergabe von Objekten per Referenz

Ich versuche zu lernen, C++, und ich arbeite durch "Sams Teach Yourself C++ in 21 Tagen".

Habe ich Fortschritte erzielt wurden, ganz gut so weit, und hab auch durch das Kapitel über Zeiger ohne Schwierigkeit. Jedoch, eine Liste über "die Übergabe von Objekten per Referenz" verlassen hat mich ziemlich verwirrt.

Es ist eine Klasse mit zwei Konstruktoren:

class SimpleCat
{
public :
    SimpleCat();
    SimpleCat(SimpleCat&);
...
};

zwei Funktionen mit dem Prototyp:

SimpleCat FunctionOne( SimpleCat theCat );
SimpleCat* FunctionTwo( SimpleCat *theCat );

/ Was irritiert mich, dass beim Aufruf der zweiten Funktion, der zweite Konstruktor SimpleCat(SimpleCat&); genannt wird. Könnte mir bitte jemand erklären? Jede weitere Suche hat mich verlassen gleichermaßen verwirrt. /

EDIT: ich habe einen Fehler in meinem post hier, der copy-Konstruktor (wie ich jetzt weiß, was es ist, danke so viel ) als die erste Funktion. Ich bin sorry für die Verwirrung. Ich weiß, verstehen Sie den link jetzt und Sie haben alle enorm geholfen.

  • Könntest du ein bisschen mehr code? Ich würde erwarten, dass die SimpleCat(SimpleCat&) - Konstruktor aufgerufen werden, für FunctionOne und NICHT FunctionTwo.
  • Für den Datensatz, jedes Buch, die behaupten, dass Sie können lehren Sie C++ in Tagen ist nur noch Müll. IMHO C++ ist eine sehr komplexe Sprache und was bedeutet es kann gelernt werden, in ein paar Tagen ist nur ... gefährlich.
  • Bitte poste den Inhalt von FunctionOne und FunctionTwo: wahrscheinlich ist der Anruf zu Ihrem copy-Konstruktor fertig ist irgendwo im Körper, und nicht in die sich selbst aufrufen.
  • K.: es lehrt, wie man in C++ Programmieren, es nicht lehren, wie zu programm auch in C++ 🙂
  • Amen. Das Buch sollte aufgerufen werden, "um etwas zu syntaktisch pass Zusammenstellung in 21 Tagen". Ich arbeite mit C++ hin und her, während 10 Jahre und mich selbst immer noch als Neuling. Ich bezweifle, dass es mehr als eine Handvoll Leute in der ganzen Welt, dass weiß eigentlich jeder einzelne wählerisch detail der Sprache.
  • zu @Matthew & @Anders: "Teach Yourself Programming in Ten Years" norvig.com/21-days.html

InformationsquelleAutor Matthew | 2011-03-01
Schreibe einen Kommentar