---恢复内容开始---

如何设置断点小笔记

将光标移动到你想设置断点的地方,按一下F9键即可,或者你可以用鼠标左键点击小手图标。

vc++如何创建程序-设置断点-函数的覆盖,c++的多态性-LMLPHP

CommentOut多行注释

vc++如何创建程序-设置断点-函数的覆盖,c++的多态性-LMLPHP

函数的覆盖是在父类与子类之间的,函数的重载发生在一个类上

如果既想要这样(Animal breathe),又想要那样(fish bubble),这属于函数的覆盖

vc++如何创建程序-设置断点-函数的覆盖,c++的多态性-LMLPHP

类型转换,

可以采取强制类型转换,能骗过编译器,但是运行时却会报错

传递的是fish对象的地址,想调用时,在基类中加一个virtual关键字,虚拟,即把函数定义为了一个虚函数

vc++如何创建程序-设置断点-函数的覆盖,c++的多态性-LMLPHP

只调用了fish bubble

vc++如何创建程序-设置断点-函数的覆盖,c++的多态性-LMLPHP

这就是C++中的多态性,当C++编译器在编译的时候,发现Animal类的breathe()函数是虚函数,

这时c++就会采用迟绑定(late binding)的技术,在运行时,依据对象的类型(在程序中,我们传递的fish类对象的地址)来确认调用的哪个函数,这种能力就叫c++的多态性。

---恢复内容结束---

05-11 16:59
查看更多