현재 C++ 상속에 대해 배우고 있습니다. 따라서이 질문이 벙어리 인 경우 사전에 사과드립니다.C++ 상속 : 다양한 파생 객체에 대한 기본 속성
이 시나리오를 구현 :
슈퍼 클래스 (는) 모든 색상이 가능한 색 속성을 가지고 (정수로 표시의 색상을 가정하자).
빨간색으로 표시된이 수퍼 클래스의 초기화가 있다고 가정 해 보겠습니다.
또한 빨강 색을 공유하는 하위 클래스의 서로 다른 개체를 초기화하려고합니다. 내 질문은
, 내가 빨간색이 속성 색상 (또는 그 문제에 대한 모든 색상)을 초기화 할 수있는 방법이 존재하고 대신 설정의 하위 클래스의의 자동 객체에 의해 상속 될 것이다 매번 빨간색으로 속성을 지정합니다.이 객체 중 하나를 초기화합니까?
다시 한 번 사과 드리겠습니다. 기본 개념이 없지만이 부분에 대해서는 온라인에서 찾을 수 없습니다. 요청에 따라
의사 코드 :
슈퍼 클래스 코드 :
class Shape {
int color;
Shape::Shape(int c) : color(c) { } //constructor
}
서브 클래스 코드 :
class Square {
int length, width;
Square::Square(int l, int w, int c)
: length(l),
width(w),
color(c)
{ }
}
class Circle {
int radius;
Square::Square(int r, int c)
: radius(r),
color(c)
{ }
}
내가 말하려는 것은 그 모두 광장과 동그라미가 같은 색을 가질 필요가 있습니다. 어쨌든 (아마도 슈퍼 클래스에서?)이 색 (예 : 빨간색)을 선언하고 두 도형 모두이 색을 동일하게 설정합니까?
기본 클래스에 color 속성이 있고 파생 클래스에도 color 속성이 있습니까? MVCE가 도움이 될 것입니다. –
아니요. 색상 속성이 슈퍼 클래스에서 분명히 상속 받고 있지 않습니다. – Logan
상황이 어떻게 보이는지에 대한 의사 코드 예제를 게시하십시오. "attribute"라는 단어를 사용하고 있지만 "속성"(멤버 변수, 가상 멤버 함수와 기본 구현 등)을 구현하는 방법은 매우 많습니다. 또한 누가 초기화 작업을 수행하고 있습니까? (또한 : initialize *는 매번 값을 조금씩 다르게 설정합니다.) – iAdjunct