class A { public : A(int i = 0){ m_i = i;cout << m_i << "A::A()" << endl;} ~A(){cout << m_i << "A::~A()\n";}
void f(){cout << m_i << "A::f()\n";}
private: int m_i; };
class B:public A { public: A m_A;
B(int i):m_A(i) { cout << "B::B()\n"; } ~B(){cout << "B::~B()\n";}
void f(){cout << "B::f()\n";} }; void main( void ) { A *pa = new B(10); pa->f(); delete pa; return; }
写出上述代码的输出,并说明原因。
:80) |