Ich bin neu bei C++ und lerne gerade über Konstruktoren. Sagen, dass ich eine Klasse Hund mit einem Konstruktor:Instanziieren von Objekten ohne Aufruf des Konstruktors in C++
class Dog{
Dog(){
std::cout << "Constructor called!
}
};
Ich weiß, dass in C++ gibt es verschiedene Möglichkeiten (wenn ich mich nicht irre) wir ein Objekt erstellen können, zum Beispiel:
1- Dog dog;
2- Dog dog = Dog();
3- Dog *dog = new Dog;
4- Dog *dog = new Dog();
5- Dog dog();
Aber hier ist die Sache: Aussagen von 1 bis 4 rufen alle den Konstruktor, aber die Aussage Nummer 5 nicht und ich kann herausfinden, warum.
Haben Sie eine Idee, warum die fünfte Anweisung den Konstruktor der Klasse nicht aufruft? Danke.
5 ist ein Prototyp der Funktion, sehen am meisten ärgerlichen Parse. – sergej
5 erstellt kein Dog-Objekt. – sergej
@sergej Sie sollten Ihren Kommentar als Antwort hinzufügen. [Bearbeiten] Zu spät; HolyBlackCat hat dich dazu geschlagen. –