21xrx.com
2024-12-22 16:36:31 Sunday
登录
文章检索 我的文章 写文章
C++中如何调用父类的虚函数?
2023-07-13 19:19:13 深夜i     --     --
C++ 调用 父类 虚函数

在 C++ 中,虚函数是用于实现面向对象编程的重要概念之一。使用虚函数可以让子类覆盖掉父类的实现,从而实现多态性。

然而,在某些情况下,子类需要调用父类的虚函数。在这种情况下,需要使用 C++ 中的关键字 "super" 来调用父类的虚函数。下面是一个示例:


#include <iostream>

using namespace std;

class Animal {

 public:

  virtual void makeSound()

   cout << "The animal makes a sound." << endl;

  

};

class Dog : public Animal {

 public:

  void makeSound() {

   cout << "The dog barks." << endl;

   // 调用父类的虚函数

   Animal::makeSound();

  }

};

int main() {

 Animal* a = new Dog;

 a->makeSound();

 return 0;

}

在上面的示例中,Animal 类中定义了一个名为 makeSound 的虚函数,而 Dog 类则覆盖了该函数。但是,在 Dog 类中,我们需要调用父类的实现。为了实现这一点,我们可以使用 Animal::makeSound()。

然后,我们在主函数中创建了一个指向 Dog 类的 Animal 指针,并调用了它的 makeSound() 函数。注意,由于它是虚函数,因此将调用覆盖了该函数的 Dog 类的实现。但是,在 Dog 类中,我们又可以使用“super”关键字调用父类的实现。

总之,在 C++ 中,使用“super”关键字可以轻松地调用父类的虚函数。这是实现多态性和面向对象编程的重要组成部分。

  
  

评论区

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