Objektorientierte Programmierung , Vererbung , Konstruktoren kopieren

Angenommen ich habe eine Basisklasse Person und ich öffentlich eine Klasse Erben Teacher von der Basis-Klasse Person.
Jetzt in der main-Funktion, die ich etwas schreiben wie dieses

//name will be passed to the base class constructor and 17
//is for derived class constructor.
Teacher object(“name”,17) ;
Teacher object1=object; //call to copy constructor

Nun ich habe nicht geschrieben, das Kopier-Konstruktor für beide Klassen, natürlich die Standard-copy-Konstruktoren aufgerufen werden. Die Person-Klasse Standard-copy-Konstruktor wird zunächst rufen Sie die base-Klasse einen copy-Konstruktor.

Das problem ist jetzt angenommen, ich Schreibe in den copy Konstruktor der Basisklasse nur, was passiert ist, ist der Standard-kopierkonstruktor der abgeleiteten Klasse wird nennen meine schriftliche Kopie-Konstruktor.

Nun mal angenommen, ich Schreibe in den copy-Konstruktor für beide Klassen . jetzt den copy-Konstruktor von der abgeleiteten Klasse (ich.e-Lehrerin) rufen Sie den Standardkonstruktor der Basisklasse, aber nicht der copy Konstruktor, warum?


Ist nur die Standard-copy-Konstruktor der abgeleiteten Klasse aufrufen der copy-Konstruktor der Basis-Klasse automatisch?

  • Es gibt nicht so etwas wie "Standard-Copy-Konstruktor". Aber ja, der compiler-generierte copy-Konstruktor ruft den copy-Konstruktor der Basisklasse auf.
  • danke jetzt habe ich verstanden.
Schreibe einen Kommentar