저는 C++ 프로그래밍을 처음 사용하고 있으며 상속에 대해 배우고 싶습니다. 나는 상속으로 자신을 연습 할 소프트웨어를 만들고 있는데, 이것이 좋은 디자인인지 알고 싶습니다. 여기에 내가 몇 가지 코드 및 각 루프를 통해 루프가이상위 클래스의 C++ 호출 하위 함수
class World{
public:
vector<WorldObject> WorldObjectCollection;
}
같은 객체 세계를
enum ObjectType{MovingObj, StaticObj};
class WorldObject{
public:
vector<double> Position;
WorldObject(ObjectType Type);
};
class MovingObject : public WorldObject {
public:
double Speed();
MovingObject(): WorldObject(MovingObj){}
};
class StaticObject: public WorldObject {
public:
MovingObject(): WorldObject(StaticObj){}
};
내 프로그램의 추출물이다, 나는 이동 물체의 때문에 속도를 업데이트해야 나는 움직이는 객체와 정적 인 객체 사이의 충돌을 검사 할 필요가있다. 나는 모든 객체를 동일한 벡터에 넣는 것이 바람직하다.
WorldType을 ObjectType의 스위치에있는 MovingObject 기반에 static_cast하는 것이 좋습니다.
더 좋은 방법이 있습니까? 가상 Speed () 함수를 생성해야합니까?
감사
이상,'vector>' –