Frage zu Funktionen

touristguy

Mitglied
Hallo,
ich habe in eine Quellcode folgendes gefunden:
Code:
class Daten{
...

	Daten(int iVal): iwert(iVal){
		cout << "Objekt [Daten] erzeugt\n";
	}

...

	void anzeigen() const;
kann mir vielleicht jemand sagen wie ich die Funktion Daten(int iVal): iwert(iVal) zu verstehen habe? Was bedeutet das iwert(iVal) nach dem Doppelpunkt und wieso habe ich nicht vor der Funktion void oder ähnliches stehen?
Dann noch die Frage zur letzten Funktion hat das eine besondere Bedeutung wenn das const hinter dem Funktionsnamen steht?
Vielleicht kann mir da ja jemand weiterhelfen.
Vielen Dank schon mal ;-) .

Gruß Phil
 
Hi.

touristguy hat gesagt.:
kann mir vielleicht jemand sagen wie ich die Funktion Daten(int iVal): iwert(iVal) zu verstehen habe?
Das ist der sogenannte Konstruktor, der erstellt ein Objekt dieser Klasse.
touristguy hat gesagt.:
Was bedeutet das iwert(iVal) nach dem Doppelpunkt
Das nach dem Doppelpunkt ist die Initialisierungsliste, da werden Attribute des Objektes was gerade erstellt wird initialisiert.
touristguy hat gesagt.:
und wieso habe ich nicht vor der Funktion void oder ähnliches stehen?
Weil es ein Konstruktor ist.

touristguy hat gesagt.:
Dann noch die Frage zur letzten Funktion hat das eine besondere Bedeutung wenn das const hinter dem Funktionsnamen steht?
Ja, natürlich. D.h. das diese Methode den Zustand des Objekts nicht ändert und man diese Methode deshalb auch bei als const deklarierten Objekten dieser Klasse aufrufen darf.

Du solltest dir dazu evtl. mal ein C++ Buch / Tutorial o.ä. anschauen.

Gruß
 
Zurück