저는 C++을 배우고 있습니다. 문서 docs.microsoft.com/en-us/cpp/cpp/member-access-control-cpp는 말한다 :private로 지정된 기본 클래스의 public static 멤버에 액세스
당신이 비공개로 기본 클래스를 지정하면, 그것은 단지 비 정적 멤버에 영향을 미칩니다. 파생 클래스에서 공용 정적 멤버에 계속 액세스 할 수 있습니다. 그러나
, 이전 인용 원인 오류 C2247 다음 약간의 예에서 조정 한 다음 코드를
'자료 : y'를 액세스 할 수 없습니다 때문에 'Derived1'사용 '에서 상속 할'개인 ' 베이스'.
이 상황에 도움을 주셔서 감사합니다.
class Base
{
public:
int x;
static int y;
};
class Derived1 : private Base
{
};
class Derived2 : public Derived1
{
public:
int ShowCount();
};
int Derived2::ShowCount()
{
int cCount = Base::y;
return cCount;
}
범위를 올바르게 사용하려면':: Base :: y'를 사용하십시오. – Peter
나는 마이크로 소프트의 사례가 망가 졌다고 생각한다. – molbdnilo