访问受保护成员的 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();
假设我有一个 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();