0
C++ 파생 클래스가 상속 될 수 있습니까? 정적 데이터 멤버 및 기본 클래스의 정적 멤버 함수가 있습니까?C++ 파생 클래스는 상속받을 수 있습니까? 정적 데이터 멤버 및 기본 클래스의 정적 멤버 함수가 있습니까?
class Base
{
public:
static int base1;
static void function1() {};
protected:
static int base2;
static void function2() {};
}
class Derived : public Base
{
public:
int a;
protected:
int b;
}
는 Derived
이 base1
, base2
및 function1
및 function2
이 있습니까?
클래스에 Derived
클래스가있는 경우 기본 클래스에서 상속 한 protected
데이터와 public
데이터의 관계는 무엇입니까? 그들은 같은가요? 또는 상속 데이터이며 해당 기본 클래스의 복사본을 작동합니까?
명확성을 위해 비 정적 데이터 멤버와 멤버 함수가 "상속"되었습니까? 그렇다면 정적 함수의 "상속되지 않은"특성과 어떻게 다른가요? –
@SteveJessop : 그것은 대답하기가 훨씬 더 어려운 질문이며 상속 된 *이 무엇을 의미하는지에 대한 정확한 정의가 필요합니다. 파생 형 *은 기본 객체의 인스턴스를 하위 객체로 포함하므로 비 정적 데이터 멤버는 액세스 지정자에 따라 직접 사용할 수도 있고 사용하지 못할 수도 있지만 * 정적 멤버는 * there *입니다. 차이점은 비 정적 멤버를 수정할 때이 오브젝트의 일부를 수정하지만 정적 멤버를 수정할 때베이스의 정적 멤버를 수정한다는 것입니다. 다른 사람이 Base의 정적 멤버를 수정하면 표시되는 값이 변경됩니다. –