tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
282
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    The_Real_Poti The_Real_Poti ist offline Mitglied
    Registriert seit
    Dec 2004
    Ort
    Ravensburg (BW)
    Beiträge
    10
    Hallo,

    ich habe ein C++ Programm mit einer Basisklasse und 2 abgeleiteten Klassen, die jeweils eine zusätzliche Elementvariable haben.
    Im Hauptprogramm habe ich eine Eingabe der benötigten Parameter zum Initialsieren eines neuen Objekts. Diese werden in temp. Variablen gespeichert und sollen dann an den jew. Konstruktor weitergegeben werden.
    Die Objekte sollen dyanamisch d.h. mit pointer = new Basisklasse (Parameterliste) bzw. pointer = new Abgel.Klasse (Parameterliste) angelegt werden und dabei mit der Parameterliste gleich initialsiert werden.
    Bei der Basisklasse funktioniert das auch super. Ich versteh nur die Syntax für das Aufrufen des Konstr. der Abgel. Klassen nicht, da ja zuerst der Konstr. der Basisklasse aufgerufen wird und dann erst der der Abgel. Klasse. Kann mir jemanden die Syntax eindeutig erklären bzw. posten, damit zuerst die Elemente der Basisklasse (die ja vererbt wurden) und dann das einzelne zusätzliche der Abgel. Klassen initialsiert werden.

    Oder verstehe ich da irgendwas falsch. Ich bin grad am Anfang des C++ - Lernprozesses. Würde mich sehr freuen wenn mir jemand weiterhelfen könnte.

    Danke
     

  2. #2
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Das geht automatisch, du hast es doch richtig beschrieben. Wenn du den Konstruktor einer Klasse aufrufst die von einer anderen Klasse abgeleitet ist (der Basisklasse), so wird im Konstruktor der abgeleiteten Klasse der Standardkonstruktor der Basisklasse aufgerufen und dann erst der eigene sinnbildlich gesprochen. Möchtest du nicht den Standardkonstruktor aufrufen lassen so musst du das explizit angeben, dementsprechend im Konstruktor der abgeleiteten Klasse den Basiskonstruktor deiner Wahl aufrufen. Hier ein Beispiel:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    class Fahrzeug
    {
      public:
        Fahrzeug(): reifen(0) {};                 // Standardkonstruktor
        Fahrzeug(int R):reifen(R) {};         // Parameter Konstruktor 
      private:
        int reifen;
    };
     
    class Auto : public Fahrzeug
    {
      public:
        Auto();
        Auto(int R, int T): Fahrzeug(R), tueren(T) {};
      private:
        int tueren; 
    };

    @Lesen hier

    mfg
     

Ähnliche Themen

  1. Event+Daten von Klasse "B" zu Kasse "A" übertragen
    Von Katerchen im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 14.11.08, 11:04
  2. Antworten: 4
    Letzter Beitrag: 07.03.08, 12:51
  3. Antworten: 2
    Letzter Beitrag: 06.05.06, 12:34
  4. Aufruf einer "externen" Klasse
    Von OliWan im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 24.08.04, 09:36
  5. Antworten: 8
    Letzter Beitrag: 25.04.04, 15:22