// Dla uproszczenia klasy ponisze klasy C nie posiadaj
// konstruktorw dwufazowych.

class CPierwsza : public CBase
{
    // Deklaracja konstruktora i destruktora moe zosta
    // pominita - zostan dodane automatycznie przez kompilator
    public:
        CPierwsza() {}
        ~CPierwsza() {}
    public:
        TInt iPierwsza;
};

class CDruga : public CPierwsza
{
    // Deklaracja konstruktora i destruktora moe zosta
    // pominita - zostan dodane automatycznie przez kompilator
    public:
        CDruga() {}
        ~CDruga() {}
    public:
        TInt iDruga;
};

//...

CDruga* druga = new CDruga();
// kolejno wywoywania konstruktorw:
// 1) CBase()
// 2) CPierwsza()
// 3) CDruga()
//...
CBase* baseDruga = dynamic_cast< CBase* >( druga );
delete baseDruga;
// kolejno wywoywania destruktorw:
// 1) ~CDruga()
// 2) ~CPierwsza()
// 3) ~CBase()
