QList < int>을 (를) 상속받은 Car 클래스가 있습니다. 방금 상속 한 QList를 어떻게 사용할 수 있을지 궁금합니다.C++ 상속 - QList
상속 사용 방법에 대한 나의 아마추어 이해에서 Car가 Vehicle을 상속하는 경우 Vehicle :: getWheels()로 이동하여 Vehicle의 메소드에 액세스합니다. QList를 상속 받으면 어떻게 될까요?
QList < int>을 (를) 상속받은 Car 클래스가 있습니다. 방금 상속 한 QList를 어떻게 사용할 수 있을지 궁금합니다.C++ 상속 - QList
상속 사용 방법에 대한 나의 아마추어 이해에서 Car가 Vehicle을 상속하는 경우 Vehicle :: getWheels()로 이동하여 Vehicle의 메소드에 액세스합니다. QList를 상속 받으면 어떻게 될까요?
자동차가 차량에서 상속하는 경우 상속 된 메소드를 사용할 수 있습니다 (해당 코드를 덮어 쓰지 않은 경우). 예 :
class Vehicle
{
int wheels_;
public:
Vehicle(int wheels=4)
: wheels_(wheels)
{
}
int getWheels() const { return wheels_; }
};
class Car: public Vehicle
{
};
Car myCar;
myCar.getWheels();
그래서 귀하의 질문에 대해, 당신은 단순히 클래스가
class Car : public QList<int> { ... };
로 decleared 경우 명시하지 않고
QList<int>
의 구성원을 사용할 수 있습니다.
QList와 같은 컨테이너에서 상속 할 필요가 없습니다. 다시 구현할 수있는 가상 메소드가 없습니다. "Composition over Inheritance"규칙을 따르고 QList를 구성원으로 지정하는 것이 좋습니다. –
나는 Frank Osterfeld와 완전히 동의한다 - 고마워. 클래스와 같은 컨테이너에서 상속하면서 매우 신중하게 디자인하고 다시 디자인을 다시 분석하십시오. Frank의 언급 된 규칙을 따릅니다. – milyaaf