C++ Profi-Frage

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
rechenzentrum
Beiträge: 76
Registriert: 09.06.2011 03:45:35

C++ Profi-Frage

Beitrag von rechenzentrum » 27.10.2012 13:19:26

Hallo alle zusammen,

ich bin auf eine Zeile Code gestossen, die ich nicht verstehen kann:

Code: Alles auswählen

classe_1
{
classe_1(Form *_Dialog)[b]:myclass2()[/b];
...
};
Ich habe noch gesehen, dass man diesen Zusatz auch hinter einer separaten Funktion stellen kann.

rechenzentrum
Beiträge: 76
Registriert: 09.06.2011 03:45:35

Re: C++ Profi-Frage

Beitrag von rechenzentrum » 28.10.2012 10:52:58

Die Frage scheint wohl nicht leicht zu sein!

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: C++ Profi-Frage

Beitrag von schorsch_76 » 28.10.2012 11:50:22

Das ist ganz einfach. Es wird ein Member namens myclass2 mit dem default Konstruktor erstellt, wenn classe_1 instantiert wird. Als Parameter zum Konstruktor classe_1 gibts halt noch einen Parameter namens _Dialog.

Gruß
schorsch

rechenzentrum
Beiträge: 76
Registriert: 09.06.2011 03:45:35

Re: C++ Profi-Frage

Beitrag von rechenzentrum » 31.10.2012 10:05:15

schorsch_76 hat geschrieben:Das ist ganz einfach. Es wird ein Member namens myclass2 mit dem default Konstruktor erstellt, wenn classe_1 instantiert wird. Als Parameter zum Konstruktor classe_1 gibts halt noch einen Parameter namens _Dialog.

Gruß
schorsch

also classe_1(Form *_Dialog, myclas2 *tmp) 8O ?

Benutzeravatar
shoening
Beiträge: 914
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: C++ Profi-Frage

Beitrag von shoening » 31.10.2012 10:48:10

also classe_1(Form *_Dialog, myclas2 *tmp) 8O ?
Nein.

classe_1 hat eine Oberklasse myClass.

Der Code aus Deiner ersten Mail

Code: Alles auswählen

classe_1(Form *_Dialog):myclass2();
enthaelt die (erste Zeile der) Implementierung eines Konstruktors der Klasse classe_1.
Dieser hat einen Parameter Dialog des Typs Form * - und ist somit nicht der Default-Konstruktor.
Daher muss man angeben (oder muss man das nicht immer? - meine C++ Zeit ist schon was her), welchen Konstruktor der Klasse myClass
man in diesem Fall nutzen moechte.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Antworten