ich mich gefragt, ob jemand diese Frage zu mir erklären könnte:Methoden, die Sie in einem Copy-Konstruktor nicht implizit aufrufen kann
class Fruit {...}; class Orange : public Fruit {....};
Welche der folgenden Methoden gegeben werden niemals implizit an Position genannt XXX im folgenden Code?
Orange::Orange(const Colour &colour) XXX {...}
A.
Orange::Orange()
B. Standardkonstruktoren für Datenelement, das in Klasse orange
C.
Fruit::Fruit()
D. Standardkonstruktoren Datenelement innerhalb der Klasse Frui t
E.A und C
F. A und D
Die bereitgestellte Antwort ist F.
Ich dachte, dass dies ein Kopierkonstruktor ist und dass die Klasse Orange
eine Kindklasse ist und Fruit
eine Basisklasse ist.
war ich nicht sicher, warum die Antwort A, wäre und dachte, dass der Grund, es ist D ist, weil Orange
Mitglieder Daten haben können, dass Fruit
haben nicht, daher können Sie es nicht verwenden Standard-Konstruktor .
Jede Hilfe würde massiv geschätzt werden.
Keine sehr gute Frage. Die Standard-Konstruktoren für 'Fruit'-Mitglieder * werden * nicht nur an Position XXX, sondern auch als Aufruf von' Fruit :: Fruit() 'aufgerufen. –
@BoPersson es ist nur eine Frage von meinem Dozenten Ich kämpfe um meinen Kopf rum –
@Lucy - Ich vermutete, dass aus dem Bild, aber es ist immer noch ein bisschen erfunden. –