组合对象的问题

freedom118 2007-05-13 11:51:34
class bird
{
public:
void eat();
//...
};

class osbrich
{
public:
bird eat(){cout<<"osbrich eat";};
//...
};
函数eat()前面的bird代表什么啊? 没想明白啊?
...全文
208 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jonahred 2007-05-14
  • 打赏
  • 举报
回复
我来追问:
c++中声明和定义中返回值不统一,哪个有效?
在这发是为了。题目的连续性。
要分的可以来我帖子。
题目一样。
todototry 2007-05-14
  • 打赏
  • 举报
回复
这么写,那是个返回值,但是编译会报个“need return value”
jonahred 2007-05-14
  • 打赏
  • 举报
回复
代码错了。。。
返回类型已经是void了。这个应该通不过。编译一下看看
通过了。回帖
freedom118 2007-05-14
  • 打赏
  • 举报
回复
编译的结果:error C4716: 'osbrich::eat' : must return a value
Error executing cl.exe.

估计是书中的错误.
richard_ma 2007-05-13
  • 打赏
  • 举报
回复
bird是返回值的类型,也就是说eat()函数中的return语句返回的值必须是bird类型的,否则会编译报错
cmail 2007-05-13
  • 打赏
  • 举报
回复
函数的返回类型啊。就像main函数前面写一个int一样。
freedom118 2007-05-13
  • 打赏
  • 举报
回复
后面只有主函数代码了
int main()
{
osbrich qao;
qao.eat();
//...
}
antterminator 2007-05-13
  • 打赏
  • 举报
回复
bird eat(){cout<<"osbrich eat";};
从这里看只能解释为eat()的返回值了,不过在函数体中并没有return一个bird对象
把代码贴全点看看

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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