如果我们无法修改类,如何访问受保护的成员?

use*_*949 3 c++ visual-c++

第三方库的类包含受保护的成员.如果我们无法修改第三方库的代码,我该如何访问它?

Kev*_*ent 8

受保护的成员只能由类本身,子类或朋友类和方法访问.访问受保护成员的唯一方法是对类进行子类化,然后使用您的子类公开受保护成员.

例如:

class parent {
  /* Other members */
  protected:
    int foo();
}


class child : public parent {
  public:
    int foo();
}
Run Code Online (Sandbox Code Playgroud)