C++中多态-面试回答

谈谈你了解的多态

多态就是:同样的调用语句有不同的表现形态。即一般根据基类指针指向的实际对象,调用相应的同名函数。

多态的条件

  • 1.必须有继承
  • 2.基类中必须用virtual关键字声明函数,即重写虚函数
  • 3.用基类指针指向对象

虚函数相关

基类中,在函数名前用virtual关键字声明,在派生类中再次实现同名函数(函数参数类型、个数,返回值类型必须一样)。

在编译时,编译器遇到virtual关键字会在常量区创建一个虚函数表(存的是相应函数的指针),每一个类都有一个虚函数表,每一个对象都有一个指向虚函数表的指针vptr。在用基类指针调用虚函数时,vptr会指向相应虚函数表,通过寻址调用相应的虚函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值