기본 클래스에서 여러 변수를 선언하면 모든 파생 클래스에서 정의됩니다. 맞습니까? 모든 파생 클래스에 대해 한 번 기본 클래스의 변수를 갖기를 원합니다. 예 :기본 클래스에서 고유 변수를 초기화하는 방법 (상속)
class Base{
public:
virtual ~Base();
protected:
Base();
int fileIndex;
};
class DerivedA : public Base{
public:
DerivedA();
virtual ~DerivedA();
void DoSth(); //using fileIndex
};
class DerivedB : public Base{
public:
DerivedB();
virtual ~DerivedB();
void DoSthDifferent(); //using the same fileIndex
};
어떻게하면됩니까?
이미 완료하셨습니다! 가능한 복제 : [Private and Protected Members] (http://stackoverflow.com/q/224966/514235) – iammilind
파생 된 모든 클래스가 동일한 fileIndex를 사용하기를 원할 때 실제로 무엇을 의미합니까? 모든 답변은 지금까지 상속을 사용하든 사용하지 않든 모든 기본이 동일한 기본 fileIndex 값을 사용해야 함을 의미한다고 이해합니다. 그러나 예를 들어 그 해석을 위해 지나치게 복잡해진 것처럼 보입니다. –
예, 기본 멤버에서 _define_ 이러한 멤버를 한 번만 정의하고 각 인스턴스에 파생 된 하위 버전 상속을 포함하여 별도의 복사본을 저장하거나 모든 인스턴스가 동일한 멤버 ('정적')? _ "다음과 같은 플래그 설명을 따르는 것이 좋습니다. _"특정 문제를 명확히하거나 추가 정보를 추가하여 필요한 것을 정확하게 강조하십시오. 현재 작성된 내용이므로 문의하는 내용을 정확하게 말하기는 어렵습니다. 이 질문. "_ –