Klassen Ausdruck
-
Hallo,
ich soll eine Klasse Stack schreiben und habe eine Vorlage einer Klasse bekommen, in der u.a. folgendes steht:
public: Stack(int cap = 10) : capacity(cap), count(0) { // data allozieren }Ich kann mit dem Stack(int cap = 10) : capacity(cap), count(0) nichts anfangen,
warum steht nach dem Konstruktor ein : mit den Methodennamen?
Soll das heißen, dass die Klasse neben dem Konstruktor auch noch die Methoden capacity und count haben soll, welche auch public sein sollen?Vielen Dank für die Antworten,
lg
-
Hallo
Das nennt sich Initialisierungsliste. Hier wird nichts deklariert (das muß wo anders gemacht werden), sondern vorhandene Member-Variablen initialisiert.
In deinem Fall wird capacity der Wert vom Parameter cap zugewiesen, und count auf 0 gesetzt.Diese Membervariablen sollen bestimmt nicht public sein, das würde die Datenkapselung zunichte machen.
bis bald
akari