关于继承类构造函数的几点疑问?(内附程序代码)
#include <iostream.h>
class A
{
public:
A() {cout<<"A Constructor"<<endl;}
~A() {cout<<"A Destructor"<<endl;}
};
class B:public A
{
public:
B() {cout<<"B Constructor"<<endl;}
~B() {cout<<"B Destructor"<<endl;}
};
void main()
{
B b;
}
程序执行的结果是:
A Constructor
B Constructor
B Destructor
A Destructor
我想问一下,派生类B中的(无参)构造函数B()没有定义基类A的构造函数, 但是主函数中定义的派生类B的对象b为什么还
能调用基类A中的(无参)构造函数? 个人感觉应该将派生类B中的(无参)构造函数B()定义为B():A() {cout<<"B
Constructor"<<endl;}
望各位达人指点一二,谢谢.
[此贴子已经被作者于2007-7-13 13:32:35编辑过]