1.C++ 类的派生与调用中,对子类定义对象时,先调用基类的构造函数,然后依次调用派生类的构造函数。当在派生类中调用基类的成员函数时,如果该函数在基类中调用,而函数内又包含成员函数,那么函数中的成员函数应该先从派生类中调用。在程序结束时先调用派生类的析构函数,最后调用基类的构造函数。例如:
#include "stdafx.h" #include <string.h> #include<iostream> using namespace std; class A { protected: int m_data; public: A(int data=0) { m_data=data; cout<<"A print"<<endl; } int GetData() { cout<<"A getdata"<<endl; return doGetData(); } virtual int doGetData() { return m_data; } ~A() { cout<<"a destuct"<<endl; } }; class B:public A { protected: int m_data; public: B(int data=2) { m_data=data; cout<<"C print"<<endl; } int doGetData() { return m_data; } ~B() { cout<<"c destruct"<<endl; } }; void main() { B b(10); cout<<b.GetData()<<endl; //system("PAUSE"); }