提问人:Sami 提问时间:3/15/2023 最后编辑:Sami 更新时间:3/15/2023 访问量:43
在 C++ 中的多级继承示例中验证数据成员的可访问性
Verifying accessibility of data members in a multi-level inheritance example in C++
问:
我有以下涉及C++多级继承的代码。 我想验证继承链中 main 中定义的对象 d 的数据成员的可访问性。我将可访问性总结如下,并想知道这是否是对象 d 看待其成员的方式!
一个:
A1 公共
A2 保护
A3 私人
B:
A::a1 私有
A::a2 私人
A::a3 无法在此处访问
B1 公共
B2 保护
B3 私人
C:
A::a1 无法在此处访问
A::a2 无法在此处访问
A::a3 无法在此处访问
B:b1 保护
B:b2 保护
B:b3 无法在此处访问
C1 公共
C2 保护
C3 私有
D:
A::a1 无法在此处访问
A::a2 无法在此处访问
A::a3 无法在此处访问
B:b3 无法在此处访问
B:b1 保护
B:b2 保护
C:c1 公共
C:c2 保护
C:c3 无法在此处访问
D1 公共
D2 保护
D3 私人
struct A
{
A() {}
public:
int a1;
protected:
int a2;
private:
int a3;
};
struct B: private A
{
B() :
A() {}
public:
int b1;
protected:
int b2;
private:
int b3;
};
struct C : protected B
{
C() :
B() {}
public:
int c1;
protected:
int c2;
private:
int c3;
};
struct D : public C
{
D() :
C() {}
public:
int d1;
protected:
int d2;
private:
int d3;
};
int main()
{
const D d;
}
答: 暂无答案
评论