注册 登录
编程论坛 C++教室

基类成员不能在派生类成员初始化列表中初始化,为什么?

全世界安静 发布于 2012-06-15 10:26, 553 次点击
class base
{
public:
   int a;
};
class child:base
{
 public:
   int c;
   child(int x,int y,int z):a(x),b(y),c(z);//错误
   child(int x,int y,int z):c(z)
    {
      a=x;b=y;
    }//只能是这样,为什么?
}
2 回复
#2
rjsp2012-06-15 14:58
只有基类或成员才可以初始化
你自己想想吧,是不是只有这样才不会出现逻辑矛盾
#3
半年换半生2012-07-23 15:54
base(int m, int n):a(m), b(n){}
child(int x, int y, int z):base(x, y),c(z)
1