Advertisement

C++虚函数与多态

阅读量:

1. 虚函数

在类的定义结构中,若成员函数前标注了virtual这一关键字,则该函数被定义为虚函数。具体表现形式如下所示:

复制代码
 class base{

    
 	virtual int get();	// 虚函数
    
 }
    
 int base::get(){}
    
    
    
    

关于虚函数,需重点关注以下几个方面:

  • virtual修饰符仅适用于类中函数声明部分,在具体实现时无需添加该修饰符;
  • 构造函数以及被static关键字修饰的静态成员函数无法被定义为虚函数。

上述内容为虚函数的基本概述,后续部分将对虚函数的相关知识进行更深入的阐述。


多态特性与实现机制

在C++语言中,当类与类之间形成继承关系时,多态现象便会出现。其实质在于成员函数的调用过程,会依据调用该函数的对象所属类型的不同而执行相应的函数版本。多态的一种表现形式(即通过基类指针实现)具体如下:

  • 派生类的指针可以被赋值给基类指针;
  • 当通过基类指针调用基类与派生类中具有相同名称的虚函数时:如果该指针指向的是基类的对象,则会调用基类中的虚函数;若该指针指向的是派生类的对象,则会调用派生类中的虚函数。这种现象正是根据对象类型来决定执行不同函数的具体体现。

上述内容仅以

全部评论 (0)

还没有任何评论哟~