public을 상속 한 파생 클래스의 메서드에서 기본 클래스의 보호 된 멤버에 액세스하려고하면 오류가 발생합니다.공개 파생 클래스의 보호 된 멤버에 액세스
기본 클래스의 참조 두 객체를 파생 클래스의 메서드에 전달하고 해당 개체의 보호 된 멤버에 액세스하려고합니다. 그러나 편집자는 불평합니다.
int A::x
protected member A::x (declared at line 5) is not accessible though "A" pointer or object.
내 코드에 어떤 문제가 내가 무엇을 할 수 :
class A {
protected:
int x;
};
class B:public A
{
public:
void test(A &obj1, A &obj2)
{
obj1.x = 1;
obj2.x = 2;
}
};
그리고 this을 편집기에서 불평한다 : 종류에
, 여기에 내가 뭘하려고 오전입니다 그것을 정정하는 것?감사합니다.
복사 및 붙여 넣기 오류하시기 바랍니다 메시지를 그들에게 외부 링크를 클릭하거나 이미지를 사용하지 마십시오 : 클래스 B에있는 X를 액세스하기위한 다음과 같은
그래서, 전체 코드를 작성할 수 있습니다. 컴파일을 시도하면 컴파일러에서 동일한 메시지를 제공 할 가능성이 높습니다.이 메시지는 복사하기가 더 쉽습니다. – aschepler
배지가 부족하기 때문에 이미지를 업로드 할 수 없습니다. 대신 오류가 작성된 링크가 자동으로 작성되었습니다. – ginos
'x'는'B' 객체에 접근 할 수 있지만'A' 객체는 접근 할 수 없습니다. – DimChtz