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

已采纳回答 / onemoo
从C++语言的角度来说,这就是虚函数的功能,你只需记住即可。如果你深究原因,这和语言的实现有关,大部分平台和编译器都是借助“虚函数表”来实现的,你搜搜这个东西就能明白。 不过你也要知道:C++并没有强制要求用虚函数表来实现多态,C++标准只是规定了行为,并没有规定具体实现方式。

最赞回答 / 流浪_老
有差别  的  函数是什么  不要大括号 能称为 函数吗  例如你c语言里面  main () 你不写  大括号试试  

已采纳回答 / eksea
可以,析构函数定义成虚析构函数没啥副作用,建议定义析构函数时都加上virtual

最赞回答 / DoDream
接口是抽象类,抽象类是只要有1个成员函数是纯虚函数即可,虚基类(接口)则是所有的成员全部是纯虚函数抽象类不可以实例化Flyable *p1的意思是定义一个基类指针,用来指向子类对象,通过基类指针可实现多态。推荐你一个不错的网站,百度搜索C++技术网,第一个就是了,里面有一些关于C++多态的文章,可以加深你对C++多态的了解,这个网站还有很多不错的资源可以下载,例如电子书,IDE等。

最赞回答 / 紫泉
简单的说,C/C++传参都是先复制一个副本,将副本传入进去,如果没有&,那么就会相当于str的改变只是在函数中改变,并不会影响到实参str。  如果加了&, 那么传入的就是实参str的引用,所谓引用就是实参本身,就是对实参的操作,这样,函数内部改变str,实参str也会改变

最新回答 / Uestc_L
默认是有符号整形,加上 unsigned 就定义为无符整形,就能表示更大的值,根据你的表示数据的需要,选择性的使用 unsigned 

最新回答 / Uestc_L
被调用了,但是父类的构造函数里面没有任何动作,所以你看不到被调用了,如果你在父类构造函数里面写上 Animal(){cout<<"Animal()";} 你就会发现父类构造函数被调用的痕迹

已采纳回答 / onemoo
这是构造函数的“构造初始化列表”。可以把需要在构造时初始化的成员变量写在这里,括号中是它们的初值,有多个变量就用逗号隔开。也可以写上父类的构造函数,这样可以在构造时按照你提供的参数将父类构造出来。上面这些会在本构造函数执行前构造完成。你这里应该就是父类的构造函数,Plane(code),括号中code就是调用参数。
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消