Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

c++: ich kapiere diesen code nicht ganz.

Yves3 / 5 Antworten / Flachansicht Nickles

lo


ich bin momentan am c++ lernen und kapiere dieses übungsbeispiel nicht ganz. das programm soll zeigen, dass die übergabe von objekten als referenz oder zeiger effizienter ist.


die drei fett geschriebenen zeilen verstehe ich nicht. die erste ist nicht so wichtig, sie definiert einen kopierkonstruktor. das wird später im buch noch beschrieben.


bei der deklaration und definition der funktion "FunctionTwo" weiss ich nicht, wozu das erste "*" dient. ist das ein zeiger? kann eine funktion ein zeiger sein?? wenn ja, worauf zeigt dieser zeiger?


vilen dank für alle antworten!!!


// Listing 12.1
// Zeiger auf Objekte übergeben


#include <iostream.h>


class SimpleCat
{
  public:
 SimpleCat ();                    // Konstruktor
 SimpleCat(SimpleCat&);     // Kopierkonstruktor
 ~SimpleCat();                    // Destruktor
};


SimpleCat::SimpleCat()
{
 cout << "SimpleCat Konstruktor...\n";
}


SimpleCat::SimpleCat(SimpleCat&)
{
 cout << "SimpleCat Kopierkonstruktor...\n";
}


SimpleCat::~SimpleCat()
{
 cout << "SimpleCat Destruktor...\n";
}


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


int main()
{
 cout << "Eine Katze erzeugen...\n";
 SimpleCat Frisky;
 cout << "FunctionOne aufrufen...\n";
 FunctionOne(Frisky);
 cout << "FunctionTwo aufrufen...\n";
 FunctionTwo(&Frisky);
 return 0;
}


// FunctionOne, Übergabe als Wert
SimpleCat FunctionOne(SimpleCat theCat)
{
 cout << "FunctionOne. Rueckkehr...\n";
 return theCat;
}


// FunctionTwo, Übergabe als Referenz
SimpleCat* FunctionTwo (SimpleCat  *theCat)
{
 cout << "FunctionTwo. Rueckkehr...\n";
 return theCat;
}

bei Antwort benachrichtigen
Yves3 PaoloP „Hey den Code kenne ich noch aus grauer Vorzeit :-p Der ist von Jesse Liberty...“
Optionen

jep.
ich hab das buch "jetz lerne ich C++" von jesse liberty.
ich halte es für ein sehr gutes buch. alles ist logisch und verständlich aufgebaut. (anders als dieser salat der in dem buch stand, das ich vorher ausgelehnt hatte)

hast(hattest) du auch dieses buch?


bei Antwort benachrichtigen