访问受保护成员的 public 方法

Accessing protected member's public method

假设我有一个 class 权限,它有一个 public 方法 change()。

class Permissions
{
public:
  change()
}

我有另一个 class 文件,它有一个受保护的权限数据成员和一个 public 方法 getPermissions()。

class File
{
protected:
  Permissions perm;
public:
  Permissions getPermissions() { return perm; } const;
}

现在文件有一个派生的 class 目录。我正在尝试使用 getPermissions().

从 directory.cpp 调用 change() 方法

我已声明:

File *temp = new File(...);

我正在尝试像这样调用 Permissions::change():

temp->perm.change()

但由于烫发受到保护,我不能那样做。我如何使用像 getPermissions() 这样的 getter 来调用 change()?

是的,您应该使用 getter 调用 change(),例如 getPermissions():

temp->getPermissions().change();