访问受保护成员的公共方法
Accessing protected member's public method
假设我有一个类Permissions,它有一个公共方法change()。
class Permissions
{
public:
change()
}
我有另一个类File,它有一个受保护的Permissions数据成员和一个公共方法getPermissions()。
class File
{
protected:
Permissions perm;
public:
Permissions getPermissions() { return perm; } const;
}
现在File有一个派生类Directory。我正在尝试使用getPermissions()从directory.cpp调用change()方法。
我已声明:
File *temp = new File(...);
我正在尝试调用Permissions::change(),类似于:
temp->perm.change()
但既然烫发是受保护的,我就不能那样做。如何使用getPermissions()这样的getter调用change()?
是的,应该使用类似getPermissions()的getter调用change():
temp->getPermissions().change();
相关文章:
- 覆盖作为另一个类的好友的虚拟受保护方法
- 无法在赋值运算符中访问基类的受保护方法
- 如何按类型启用受保护的方法
- 用受保护的继承指向基类方法
- 受保护的方法在 c++ 中继承时可以成为私有方法
- std::异步不能调用受保护的基类方法
- Boost单元测试夹具继承测试类,是否可以访问受保护的方法
- 在派生类中定义自定义返回类型的受保护方法
- 有什么方法可以在工会内部获得受保护的声明吗
- 通过此指针调用受保护的基类方法,该指针投射到派生类(C++)中的基类
- 访问受保护成员的公共方法
- C++:重写由另一个方法调用的受保护方法
- 这种使用虚拟受保护方法扩展库的方式是否安全
- 派生类是否可以访问作为内部类的好友的父类的受保护内部类的私有方法
- 为什么无法从模板方法访问此类自己的受保护成员?
- 从基类的静态模板方法中调用继承类的受保护 ctor 失败
- 在C++中为成员对象调用受保护的方法
- 通过 DllImport 在 C# 中调用 C 方法 - 尝试读取或写入受保护的内存
- 派生类中的反射工厂C++无法访问受保护的方法
- 使用关键字公开受保护的重载方法