C++中关于多态的一些常用面试题

本文探讨了C++中的多态概念,包括多态的实现条件、方式、理论基础及意义。介绍了virtual关键字的作用,讨论了重载和重写的区别,并通过代码示例展示了多态的运用。同时,文章提到了虚函数表、构造函数与多态的关系,以及为何需要虚析构函数。
摘要由CSDN通过智能技术生成

一、请你谈谈对多态的理解

多态的实现效果

多态:同样的调用语句有多种不同的形态,一个函数在子类穿梭的时候表现的不同形态。

多态实现的三个条件

      有继承、有virtual重写、有父类指针(引用)指向子类对象。

多态的c++实现

   virtual关键字,告诉编译器这个函数要支持多态;不是根据指针类型判断如何调用,而是要根据指针所指向的

实际对象类型去判断如何调用

多态的理论基础

   动态联编pk静态联编。根据实际的对象去判断重写函数的调用

多态的意义

设计模式的基础,框架的基石。

实现多态的理论基础

函数指针做函数参数

c函数指针是c++至高无上的荣耀

多态原理探究

2:c++编译器是如何实现多态的

通过virtual关键字对多态进行支持

使用virtual申明的函数被重写后即可展现多态的特性

3:谈谈你对重写,重载理解

函数重载:

必须在同一个类中进行

子类无法重载父类的函数,父类同名函数将被名称覆盖

重载是在编译期间根据参数类型和个数决定函数的调用

函数重写

 必须发生在父类和子类之间

并且父类和子类中的函数必须有完全相同的原型

使用virtual申明之后能产生多态(否则是重定义)

多态是根据运行期间具体对象的类型决定函数调用

#include <cstdlib>

#include <iostream>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值