Fragen zum Konstruktor
-
sunnydays schrieb:
Der Konstruktor ist praktisch die die Funktionsdeklaration einer normalen Funktion?
Hab ich das soweit richtig verstanden.oO Hat Jürgen Wolf Kinder bekommen?
Nein! Google mal RAII. Ein Konstruktor ist eine Funktion, die ein Objekt Initialisiert und bei der Deklaration eines solchen aufgerufen wird. Grob gesagt.class A {};//Der Compiler erzeugt in diesem Fall einen default Konstruktor int main() { A a;//Hier wird er aufgerufen (er tut rein gar nix) }//Hier wird der vom Compiler erzeugte Destruktor aufgerufen.Einem Konstruktor können beliebig viele Parameter übergeben werden. Es gibt einige spezielle Konstruktoren wie
- Kopierkonstruktor (Parameter ist eine Referenz auf eine konstante Instanz der Klasse
- Default-Konstruktor (keine Parameter)
-
Deklaration?
-
volkard schrieb:
Deklaration?
??? Wo sonst, bei seinem Geburtstag?
Oder formaler:Bei einem
benannten(edit: das ist eig. irrelevant) automatischen Objekt wird der Konstruktor dann aufgerufen, wenn bei der Ausführung des Programms auf seine Daeklaration getroffen wird...
-
Daeklaration?
-
Dieklaraschon

@Hacker:
Lies mal Unterschied zwischen Deklaration und Definition nach.
-
hustbaer schrieb:
@Hacker:
Lies mal Unterschied zwischen Deklaration und Definition nach.Der ist mir - keine Sorge- bekannt. Leider sehe ich es so: eine Definition kann beliebig oft auftreten - eine Deklaration nur einmal. Und ein Konstruktor wird schließlich nicht 3-4 mal aufgerufen?
Meint Sachen ihr wie
extern...
Wirds einfach bei der ersten Definition aufgerufen?
-
Hacker schrieb:
hustbaer schrieb:
@Hacker:
Lies mal Unterschied zwischen Deklaration und Definition nach.Der ist mir - keine Sorge- bekannt. Leider sehe ich es so: eine Definition kann beliebig oft auftreten - eine Deklaration nur einmal.
Ah, die berühmte One-Declaration-Rule. Punkt für Dich.
-
ODR - One-Definition-Rule

-
volkard schrieb:
Ah, die berühmte One-Declaration-Rule. Punkt für Dich.

-
ROFL

@Hacker
Liest bitte nochmal nach was Deklaration und Definition bedeuten.