allgemein
objekt-orientierter entwurf
programmierung
qualitätssicherung / testen

Programiersprache  C++ 
Schwierigkeitsgrad  mittel 
Eingereicht von  Marco Zwyssig (aka Dr. Eros Porsche)  
Veröffentlicht am  14.03.2005  
Lösung veröffentlicht am   28.03.05 

Der bugTeaser

class InterfaceIf
{
  public:
    virtual ~InterfaceIf() {}
};

class Base1 : public InterfaceIf
{
  public:
    virtual ~Base1() {}
};

class Base2 : public InterfaceIf
{
  public:
    Base2(const InterfaceIf& rInterface) {}
    virtual ~Base2() {}
};

class ClassA
{
  public:
    ClassA (const Base1 &rBase1)
      : rBase2_(rBase1)
      {}
  private:
    const Base2& rBase2_;

};

Anmerkungen

Diese Klasse widerspiegelt den Grundgedanken in einem Framework. Das Problem blieb relativ lange unentdeckt.

Wo liegt der Fehler und wie wie kann er verhindert werden? Was können wir aus diesem Fehler lernen?

Über diesen bugTeaser diskutieren.



#005: Die entflohene Referenz #003: Der tückische Zuhörer

Druckbare Version