21xrx.com
2024-12-22 22:32:10 Sunday
登录
文章检索 我的文章 写文章
C++继承中调用父类函数的方法
2023-07-02 18:01:52 深夜i     --     --
C++ 继承 调用 父类函数 方法

在C++继承中,派生类可以继承自父类的属性和方法,包括public、protected、private三种访问权限。在派生类中如果要调用父类中的方法,有两种方法可以实现。

一、使用作用域解析运算符(::)

在C++中,作用域解析运算符可以用来访问类中的成员。因此,在派生类中,我们可以使用::运算符调用父类中的成员函数。

假设父类中有一个public成员函数foo(),在派生类中希望调用该函数,则可以采用以下方式:


class Parent{

public:

  void foo() {

   std::cout<<"Parent::foo() is called"<<std::endl;

  }

};

class Child : public Parent{

public:

  void callParentFoo() {

    Parent::foo(); // 使用作用域解析运算符访问父类的成员函数

  }

};

二、使用virtual关键字和override关键字

在C++中,可以将父类中的方法声明为“虚函数”,这样派生类中的同名函数可以覆盖父类中的函数,并且可以使用override关键字显示指明。

当父类中的虚函数被派生类覆盖时,可以通过关键字“super”在派生类中调用父类中被覆盖的虚函数。

例如:


class Parent{

public:

  virtual void foo() {

   std::cout<<"Parent::foo() is called"<<std::endl;

  }

};

class Child : public Parent{

public:

  void foo() override {

    std::cout<<"Child::foo() is called"<<std::endl;

    Parent::foo();

  }

};

上述代码中,父类中的foo()函数被声明为虚函数,派生类中的同名函数使用了override关键字并且覆盖了父类中的函数。在子类中,我们可以使用Parent::foo()来调用父类中的虚函数。

总结

在C++中,派生类可以调用父类中的成员函数,通常使用作用域解析运算符和虚函数两种方式。在实际编程中根据需要来选择使用。

  
  

评论区

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