为了账号安全,请及时绑定邮箱和手机立即绑定

默认构造函数

Animal(); 默认构造函数这样写是错的

Animal(){ }     这样就是对了   为什么  有差别吗?





正在回答

4 回答

Animal ();仅仅是声明,类外要对其进行定义,Animal::Animal(){};

Animal(){};是在类内定义

0 回复 有任何疑惑可以回复我~

此回答引用于Sky_Coder 

被调用了,但是父类的构造函数里面没有任何动作,所以你看不到被调用了,如果你在父类构造函数里面写上

 Animal(){cout<<"Animal()";} 你就会发现父类构造函数被调用的痕迹


0 回复 有任何疑惑可以回复我~

有差别  的  函数是什么  不要大括号 能称为 函数吗  例如你c语言里面  main () 你不写  大括号试试  

1 回复 有任何疑惑可以回复我~

/tmp/ccNOYNZd.o: In function `Dog::Dog(std::string)':
index.cpp:(.text._ZN3DogC2ESs[_ZN3DogC5ESs]+0x19): undefined reference to `Animal::Animal()'
collect2: error: ld returned 1 exit status

这是报错信息

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之多态篇
  • 参与学习       66219    人
  • 解答问题       334    个

本教程将带领大家体会面向对象三大特性中的多态特性

进入课程

默认构造函数

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号