// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
class A
{
public:
A(int value);
~ A();
private:
};
A:: A(int value)
{
cout<<value<<" this is A"<<endl;
}
A::~ A()
{
cout<<"this is ~ A() "<<endl;
}
class B
{
public:
B();
~ B();
private:
};
B:: B()
{
cout<<"This is B"<<endl;
}
B::~ B()
{
cout<<"this is ~B()"<<endl;
}
class C:public B,public A
{
public:
C(int v);
~C()
{
cout<<"this is ~C"<<endl;
}
private:
};
C::C(int v):A(v),B()
{
cout<<"this is C"<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
C *c = new C(666);
delete c;
system("pause");
return 0;
}
1 class C:public B,public A ,那么调用构造函数的顺序就是 B A C 。调用析构函数的顺序是 C A B
2 若基类构造函数无参数,则不用实现