Advertisement

关于C++多态虚函数的学习笔记

阅读量:

多态性

多态类型:具有继承关系的多个类型

**
**

知识点1:虚拟函数(virtual 函数名();)**——说明了当使用基类指针访问派生类对象时的问题。

原因:当你将一个基类指针赋值给派生类对象时,则仅能访问基础类所定义的成员函数;若将派生类指针赋值给基类对象,则这种做法极为危险,在编程实践中很少见到

知识点2:同名成员函数 ——如果基类与子类定义了相同名称的成员函数,在执行对象(无论是基于子类还是基于基类)的该成员函数时,默认情况下会根据实际引用的对象类型来决定调用哪一种实现;为了避免这种歧义性问题,在这样的情况下(即当一个基类类型的指针指向一个子类实例),可以通过引入虚函数机制能够有效解决这一问题

知识点3:虚析构函数( virtual ~类名();)——解决在动态多态中,内存泄漏的问题

知識點4:vIRTUAL限制用法——
不可用于全局函數的聲明與定義。
即可用於修改類內函數(通常 declaring the class時即可)。
virtually無法處理類內静态函數。
The無法處理 inline functiions.
The無法處理.constructors.

本节知识点:虚拟方法——请注意上述内容,在讨论虚拟方法时,请记住以下几点:虚拟方法和析构方法必须确保在基类中为这些功能或

全部评论 (0)

还没有任何评论哟~