21xrx.com
2024-11-22 07:56:05 Friday
登录
文章检索 我的文章 写文章
C++子类如何调用父类的虚函数?
2023-07-03 07:15:09 深夜i     --     --
C++ 子类 父类 调用 虚函数

在C++中,可以通过继承父类来创建子类。在继承父类的过程中,子类会自动继承父类中的所有成员函数和成员变量,包括虚函数。虚函数是一种特殊的成员函数,它可以被重写,并且调用时会根据对象的实际类型来确定调用哪个函数。

有时候,在子类中需要调用父类中的虚函数,这时可以使用作用域限定符`::`来指明要调用的是父类中的虚函数。

假设有如下的父类`Animal`和子类`Dog`:


class Animal {

public:

  virtual void eat()

    cout << "Animal eats." << endl;

  

};

class Dog : public Animal {

public:

  void eat()

    cout << "Dog eats." << endl;

  

  void callParentEat() {

    Animal::eat();

  }

};

在子类`Dog`的`callParentEat()`函数中,可以使用`Animal::eat()`语句来调用父类中的`eat()`函数。这样就可以实现在子类中调用父类中的虚函数。

需要注意的是,如果在子类中重写了父类中的虚函数,需要使用`virtual`关键字将其声明为虚函数,并且在子类中重写时也需要使用`virtual`关键字。同时,在子类中调用父类中的虚函数时,也需要使用`virtual`关键字。这样可以保证调用时能够根据对象的实际类型确定调用哪个函数。

总的来说,通过作用域限定符`::`可以在子类中调用父类中的虚函数。这是面向对象编程中非常常见的操作,有助于实现继承的特性和代码的重用性。

  
  

评论区

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