Parametern an Konstruktoren von Basisklassen übergeben



  • Hallo alle zusammen,

    ich habe eine Klasse, die von einer Basisklasse erbt. An den Konstruktor der Basisklasse sollen Parameter übergeben werden.

    Wenn ich nun ein Objekt des Kindes erstelle, wird ja zuvor der Konstruktor der Basisklasse aufgerufen. Könnt ihr mir sagen, wie man ihm dann die Parameter übergibt? Wenn ich ein Objekt erstelle, wandern die Parameter ja an den Konstruktor der Kind-Klasse.

    Ich wollte es zunächst so lösen, dass ich in der Basisklasse eine init-Methode erstelle, die die jeweiligen Parameter erwartet. Diese Methode kann dann von dem Kind-Objekt aufgerufen werden. Sollte ich aber einmal eine neue Klasse erstellen, die von der gleichen Basisklasse erbt und vergesse, die init-Methode aufzurufen, läuft alles gegen den Baum. Daher dachte ich, dass alles über Konstruktoren laufen zu lassen..

    Ich danke euch.



  • So wie man alle anderen Membervariablen auch initialisiert. Mit einer Initialisierungsliste.



  • Ich danke dir, damit hat es geklappt.



  • class Oberklasse
    {
    	private:
    		int	m_iTestAttribut;
    	public:
    		Oberklasse()
    		: m_iTestAttribut(0)
    		{}
    		Oberklasse(int i)
    		: m_iTestAttribut(0)
    		{}
    		~Oberklasse()
    		{}
    };
    
    class Unterklasse : public Oberklasse 
    {
    	private:
    		int	m_iNochEinAttribut;
    	public:
    		Unterklasse()
    		: m_iNochEinAttribut(0)
    		{}
    		Unterklasse(int i, int n)
    		: Oberklasse(i) /*so!*/
    		, m_iNochEinAttribut(n)
    		{}
    		~Unterklasse()
    		{}
    };
    

Anmelden zum Antworten