21xrx.com
2024-12-23 00:43:59 Monday
登录
文章检索 我的文章 写文章
C++覆写(Override)的含义及实现方式
2023-06-26 01:59:52 深夜i     --     --
C++ 覆写 Override 含义 实现方式

在C++编程中,Override(覆写)是指在派生类中重写基类中定义的虚函数,从而实现自己的特殊需求。Override可以在重写基类虚函数时使用,它允许派生类中定义的函数可以与基类中的虚函数的函数签名完全相同。

当Override一个虚函数时,我们需要使用override关键字,这样我们就可以保证在此虚函数被调用时,将会调用派生类中的版本而非基类中的版本。

下面是一个Override实现的示例代码:


#include<iostream>

using namespace std;

class BaseClass {

public:

  virtual void print()

    cout << "This is the BaseClass." << endl;

  

};

class DerivedClass : public BaseClass {

public:

  void print() override

    cout << "This is the DerivedClass." << endl;

  

};

int main() {

  DerivedClass dc;

  BaseClass *bc = &dc;

  bc->print();

  return 0;

}

在上面的代码中,BaseClass类定义了一个虚函数print()。DerivedClass派生类重写了覆盖了虚函数print()。在程序的主函数中,我们声明DerivedClass的一个实例,并将其赋值给了一个指向基类对象的指针。此时,我们调用基类中的虚函数print(),输出结果为“ This is the DerivedClass.”。

可以看到,派生类中的函数签名需要与基类中的虚函数完全相同,并且需要在函数签名后面使用override关键字来标记该函数是Override而不是普通函数。这样一来,当基类指针指向派生类对象时,调用虚函数时可以动态绑定,并调用派生类中的函数。

总的来说,C++中的Override可以帮助我们实现派生类的子类需要,提高代码的复用性。在Override时一定要注意保证函数签名的完全一致,并使用override关键字标记。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复