Anzeige:
Ergebnis 1 bis 3 von 3

Thema: C++ Vererbung, const& member

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    13.09.2010
    Beiträge
    1

    C++ Vererbung, const& member

    Hallo.

    Ich muss etwas legacy Code um neue Klassen ergänzen. DataA und ContainerA sind gegeben, DataB und ContainerB müsser aus diesen abgeleitet werden. Die Idee ist im Code unten veranschaulicht. Natürlich ist es nicht kompilierbar, weil die Elternklasse einen const& Member enthält (die Tochterklasse tut es ebenfalls). Ist eine solche Vererbung überhaupt machbar ohne die Elternklassen zu manipulieren?
    PS: vector und queue sind nur Beispiele, in Wirklichkeit sieht's etwas komplizierter aus.

    Code:
     
    #include <vector>
    #include <queue>
    
    class DataA
    {
      std::vector<int> dataA;
      virtual void processData();
    public:
      DataA() { dataA.push_back(0); }
    };
    
    class DataB : public DataA
    {
      std::queue<int> dataB; 
      virtual void processData();
    public:
      DataB() {dataB.push(0);}
    };
    
    
    class ContainerA
    {
      DataA const& dA; 
    public:
      ContainerA(DataA const& d) : dA(d) {}
    };
    
    class ContainerB : public ContainerA
    {
      DataB const& dB; 
    public: 
      ContainerB(DataB const& d) : dB(d) {}
    };
    
    int main()
    {
      DataB db; 
      ContainerB cb(db);
    }
    Geändert von volatile (13-09-2013 um 12:36 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •