首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于构造函数的调用有关问题

2012-02-22 
关于构造函数的调用问题#includeiostream.hclassBASE{public:BASE(intx,inty){cout \nBASE\n ax

关于构造函数的调用问题
#include   <iostream.h>
class   BASE  
{
public   :
BASE(int   x,   int   y)
{
cout < < "\nBASE\n ";
a=x;
b=y;
cout < < "a= " < <a < < "     b= " < <b < <endl;
}
~BASE()
{
cout < < "\nxigou   BASE\n ";
}
protected:
int   a;
int   b;
};
class   C   :   public   BASE
{
public:
C::C(int   x,   int   y):BASE(x,   y)
{
cout < < "\nC\n ";
}
~C()
{
cout < < "\nxigou   C\n ";
}
};
class   P:   public   C
{
public:
P::P(int   x,   int   y):C(x,   y)
{
cout < < "\nP\n ";
}
~P()
{
cout < < "\nxigou   P\n ";
}
};
main()
{
P   obj(3,   4);
//return   0;
}
是不是   先调用C的构造函数,   然后C的构造函数再调用BASE的构造函数?

[解决办法]
先调用基类的。再调用派生类的。
[解决办法]
BASE-> C-> P
[解决办法]
派生类的构造函数只能调用气直接基类的构造的函数
=======================
对啊,孙子只能调用它爹的构造函数,它爹的构造函数在执行的时候调用它爷爷的构造函数(对于它爹来说,也是只能用它的爹的),这样层层递进^_^

热点排行