关于C++语言中一个错误'Func' : illegal member initialization: 'Dog' is not a base or member

zyhcuc 2008-11-19 08:01:28
各位大侠赶紧帮忙看看这个简单的程序怎么改阿~~~
错误:
//'Func' : illegal member initialization: 'Dog' is not a base or member
当我把Dog改为一个基类,程序仍然显示时这个错误???


#include<iostream>
using namespace std;
class Mammal
{
public:
Mammal(int i) { cout<<"constructing Mammal"<<i<<endl; }
Mammal() {}
~Mammal() { cout<<"destructing Mammal"<<endl; }
};
class Dog:public Mammal
{
public:
Dog(int j) { cout<<"constructing Dog"<<j<<endl;}
~Dog() { cout<<"distructing Dog"<<endl;}
};
class Func:public Mammal
{
public:
Func::Func(int a,int b,int c):Mammal(a),Dog(b),littleDog(c) {}
private:
Dog littleDog;
};
int main()
{
Func obj(1,2,3);
return 0;
}
...全文
882 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
庄鱼 2012-07-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

为什么不是基类就不能对其初始化?
[/Quote]
因为Dog既不是Func的构造基础,也不是它的成员,在Func里,找不到Dog的定义
lianqzl 2012-07-15
  • 打赏
  • 举报
回复
为什么不是基类就不能对其初始化?
GoForSky 2008-11-19
  • 打赏
  • 举报
回复
Func::Func(int a,int b,int c):Mammal(a),Dog(b),littleDog(c) {}

有错误
Dog(b去掉)

dog不是FUNC的基类。你给它初始化干啥

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧