标签:
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");
}

标签:
原文地址:http://www.cnblogs.com/kabe/p/5687613.html