访问C++中的受保护成员

Access protected members in C++

本文关键字:受保护 成员 C++ 访问      更新时间:2023-10-16

如果有的话,我如何访问在类"ChooseDirDlg"中的类"SecondDlg"中声明的受保护成员?以下是类声明:

class CChooseDirDlg : public CDialog
{
// Construction
public:
CChooseDirDlg(CWnd* pParent = NULL);    // standard constructor

class SecondDlg : public CDialog
{
// Construction
public:
SecondDlg(CWnd* pParent = NULL);   // standard constructor

更改构造函数以采用一个类的派生实例可以解决问题吗?如果是这样,我该怎么做呢?

从中继承

class CChooseDirDlg : public SecondDlg
{}

将类声明为好友

class SecondDlg : public CDialog
{
    friend class CChooseDirDlg;
}

SecondDlg 中声明CChooseDirDlgfriend 。这将授予SecondDlg所有成员CChooseDirDlg访问权限,甚至是私人成员。

如果C++实现了acquaintance acces 修饰符来授予受保护成员的访问权限,我不会介意的;-)