In ce ordine se apeleaza constructorii, respectiv destructorii intr-o ierarhie de clase?
Raspuns
- intai constructorul din clasa de baza apoi cel din clasa derivata.
- intai destructorul din clasa derivata apoi cel din clasa de baza (ordine inversa celei din cazul constructorilor).
Exemplu
- Cod: Selectaţi tot
#include <iostream>
class A
{
public:
A() {std::cout << "A::A() ";}
~A() {std::cout << "A::~A() ";}
};
class B : public A
{
public:
B() {std::cout << "B::B() ";}
~B() {std::cout << "B::~B() ";}
};
class C : public B
{
public:
C() {std::cout << "C::C() " << std::endl;}
~C() {std::cout << "C::~C() ";}
};
void TestIt()
{
C c;
}
int main()
{
TestIt();
return 0;
}
Programul de mai sus afiseaza
- Cod: Selectaţi tot
A::A() B::B() C::C()
C::~C() B::~B() A::~A()
Vezi si urmatorul articol
Next FAQ >>

