Objekterzeugung
-
Huhu Leute
bei folgendem mini programm ist mir nicht ganz klar was dort eigentlich passiert, wenn ich so ein Objekt erzeuge. Der Standardkonstruktor wird nicht aufgerufen, da ich Ausgabe bekomm und einen Zuweisungskonstruktor gibts nicht. :p
Ich dachte eigentlich immer dass es so einen Syntax gar nicht gibt aber ich habe daheim nur Dev CPP, so kann es sein dass es an Dev liegt ?
Danke schonmal für eure Antworten
mfg Dweb
:xmas1:#include <iostream> #include <conio.h> using namespace std; class A { private: int x; public: A() { x=7; cout << x; } }; int main() { A a(); getch(); return 0; }
-
Mit dem Befehl "A a();" deklarierst du eine Funktion namens a mit dem Rückgabetyp A.
also einfach die "()" weglassen: "A a;"
-
"... und im übrigen bin ich der Meinung, dass dies in die FAQ sollte !"

@DWeb:
Vergleiche malA a();mit
int f();... dann wird's vielleicht klar, was Du dem Compiler da in Wirklichkeit über a mitteilst.
Gruß,
Simon2.
-
Ansonsten streichst du am Besten noch das "#include <conio.h>" und ersetzt dann "getch()" durch "cin.get()".
