21xrx.com
2024-12-22 23:46:15 Sunday
登录
文章检索 我的文章 写文章
C++中,如何让子类调用父类的protected成员函数?
2023-07-04 20:00:33 深夜i     --     --
C++ 子类 父类 protected 成员函数

在C++中,类的派生是面向对象编程中的一个重要特性。当我们定义一个类时,有时候会在其中定义一些protected成员函数,这些函数可以被派生类访问和调用。但是,有些情况下我们需要让子类调用父类的protected成员函数。

那么,在C++中如何让子类调用父类的protected成员函数呢?

首先,子类是可以继承父类的protected成员函数的,但是在子类中无法直接调用父类的protected成员函数。这是因为,要让子类调用父类的protected成员函数,我们需要使用“作用域解析运算符(::)”,即通过父类名称加上作用域解析运算符来调用父类的函数。

下面是一个示例代码:


#include <iostream>

using namespace std;

class A {

protected:

  void protected_fun()

    cout << "This is a protected function of class A" << endl;

  

};

class B:public A {

public:

  void call_protected_fun() {

    A::protected_fun();

  }

};

int main() {

  B obj;

  obj.call_protected_fun();

  return 0;

}

在上述示例代码中,我们定义了两个类A和B。其中,类B继承了类A,并定义了一个公共成员函数call_protected_fun()。在call_protected_fun()函数中,我们使用作用域解析运算符来调用父类A中的protected成员函数protected_fun()。

这样,当我们执行obj.call_protected_fun()时,就会输出“This is a protected function of class A”。

从上面的示例代码中,我们可以看到,在C++中让子类调用父类的protected成员函数需要使用作用域解析运算符。通过这种方式,我们可以在子类中直接调用父类的protected成员函数,以实现更加灵活的编程。

  
  

评论区

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