Forum: PC-Programmierung Was ist das da im C++ Konstruktor ?


von zäh (Gast)


Lesenswert?

Ich programmiere normalerweise in C. Jetzt möchte ich aber einen C++ 
Quelltext auf meine Bedürfnisse anpassen. Leider habe ich jetzt etwas in 
einem Konstruktor gefunden, das ich nicht kenne und mangels Name auch 
nicht googeln kann.
Also da wird der Konstruktor ausserhalb der Klassendefinition definiert. 
Also steht da zweimal der Klassenname mit 2 Doppelpunkten dazwichen - so 
weit so klar. Dann kommen die Argumente des Konstruktors - auch 
verständlich.
Und jetzt kommt der springende (Doppel-)Punkt : ein Doppelpunkt und eine 
mit Komma getrennte Aufzählung bevor die öffnende, geschweifte Klammer 
den Beginn des Codes des Konstruktorcodes anzeigt.
1
SimpleSerialAnalyzer::SimpleSerialAnalyzer()
2
:  Analyzer(),  
3
  mSettings( new SimpleSerialAnalyzerSettings() ),
4
  mSimulationInitilized( false )
5
{
6
  SetAnalyzerSettings( mSettings.get() );
7
}

Wer's noch nicht erkannt hat, das ist ein Schnipsel aus dem SDK für die 
Saleae Logicanalyzer Software. Unterliegt deren Copyright und 
überhaupt... Aber ich denke, den Schnipsel hier zu veröffentlichen ist 
ok, da Saleae das ganze SDK frei verteilt.

von Vincent H. (vinci)


Lesenswert?

"member initializer list" (Not to be confused with 
std::initializer_list)

https://en.cppreference.com/w/cpp/language/initializer_list

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

zäh schrieb:
> Und jetzt kommt der springende (Doppel-)Punkt : ein Doppelpunkt und eine
> mit Komma getrennte Aufzählung bevor die öffnende, geschweifte Klammer
> den Beginn des Codes des Konstruktorcodes anzeigt.

Da werden die Konstrukturen der Basisklassen bzw. Members aufgerufen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.