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

时间:2015-02-25 03:38:41

标签: c++ protected

假设我有一个类Permissions,它有一个公共方法更改()。

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()?

1 个答案:

答案 0 :(得分:1)

是的,你应该使用像getPermissions()这样的getter来调用change():

temp->getPermissions().change();