虚函数与多态性

在这里插入图片描述
按照所进行的阶段不同,联编分成两大类:
静态联编:在程序编译连接阶段进行的联编,又称为早期联编;因为这种联编是在程序运行之前完成的。
动态联编:在程序运行时进行的联编,又称为晚期联编;编译程序在编译阶段不能确切地知道将要调用的函数,只有在程序执行时才能确定将要调用的函数,为此要确切地知道将要调用的函数,要求联编在程序运行时进行。
静态联编优点:
调用速度快,效率高,但缺乏灵活性;
动态联编优点:运行效率低,但增强了程序灵活性。
C++为了兼容C语言仍然是编译型的,采用静态联编。
为了实现多态性,利用虛函数机制,可部分地采用动态联编。

基类指针和派生类指针与基类对象和派生类对象4种可能匹配:
➢直接用基类指针引用基类对象;
➢直接用派生类指针引用派生类对象;
➢用基类指针引用一个派生类对象;
➢用派生类指针引用-一个基类对象。
在这里插入图片描述
不能将一个声明为指向派生类对象的指针指向其基类的对象。
派生类指针只有经过强制类型转换之后,才能引用基类对象。

根据赋值兼容规则,可以将派生类的地址赋值给基类的指针。
声明为指向基类对象的指针,当其指向公有派生类对象时,只能用它来直接访问派生类中从基类继承来的成员,而不能直接访问公有派生类的定义的成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值