繁体   English   中英

访问受保护成员的公共方法

[英]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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM