{
public:
A(int n)
{
cout << "call structor A(int n)." << endl;
m_num = n;
}
A(const A &a)
{
cout << "Call structor A(const A &a)." << endl;
}
virtual ~A()
{
cout << "Call destructor ~A()." << endl;
}
A& operator=(const A &a)
{
this->m_num = a.m_num;
return *this;
}
private:
int m_num;
};
{
public:
B(int n):A(n)
{
cout << "call structor B(int n)." << endl;
}
~B()
{
cout << "Call destructor ~B()." << endl;
}
};
{
A *pa = new B(10);
delete pa;
}
call structor B(int n).
Call destructor ~B().
Call destructor ~A().
{
cout << "Call destructor ~A()." << endl;
}
call structor B(int n).
Call destructor ~A().
lvoqxw 2010-06-01