【发布时间】:2016-04-07 16:53:37
【问题描述】:
假设B类继承A类,B类friends C。A类有一个受保护成员foo。
C类可以访问foo吗? C++ 标准版本之间有什么区别吗?
例子:
class A {
protected:
void foo() {}
};
class B : public A {
friend class C;
};
class C {
void func() {
B b;
b.foo();
}
};
【问题讨论】:
-
您能否提供一个代码示例来满足您的实际要求?
class C与class A和class B到底有什么关系?A是C的friend类实际上不会通过class B或class A的访问权限来更改class C的任何内容。 -
应该自己尝试过,但我编辑了您的问题以包含您描述的代码,并回答了它。
-
@David 我更希望 OP 自己澄清这一点,而不是你把不清楚的问题用形状来匹配你的答案(我很想回滚你的编辑)。
-
@πάνταῥεῖ 抱歉,我打算在以后的编辑中自己提供一个代码示例。我想没有时间:-)
-
@πάνταῥεῖ 他描述的代码相当清楚,如果我不确定他在问什么,我不会费心澄清它。
标签: c++