C++多态

多态:
程序在运行时候,才决定调用的函数。C++多态是通过虚函数来实现的,虚函数运行子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override)或者称为重写(包括直接重写成员函数或者重写虚函数)。
多态与非多态实质区别是:早绑定还是晚绑定;
如果函数调用,在编译器编译期间就可以确定函数调用地址,并产生代码,是静态的,不能在编译期间确定,就是晚绑定。

多态与继承都是为了重用,继承额可以扩展已经存在的代码,而多态是为了实现接口重用。也就是说不管传递的是哪个类的对象,都可以通过同一个接口调用到适应各自对象的实现方法。

基类指针,指向基类对象,调用的就是基类本身的函数;

定义一个父类对象,将该父类对象的指针强制类型转换为子类指针,并赋给一个子类指针,则该子类指针将指向该父类对象,但是其this指针仍然是指向子类的指针;
//调用成员属性的时候,指向父类对象,那么就是父类对象的成员属性;指向子类对象,就是子类对象的成员属性

当该指针调用虚成员函数时候,将按照对象的内存布局调用父类的虚成员函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值