추상 메서드를 선언하지 않고 C++에서 클래스 추상을 만들 수 있습니까? 현재 StaticSprite 및 DynamicSprite 하위 클래스가있는 Sprite 클래스가 있습니다. 스프라이트 클래스를 추상적으로 만들고 싶습니다.추상 메서드가없는 추상 클래스
문제는 공유하는 방법이 없다는 것입니다. 음, StaticSprite와 DynamicSprite는 모두 draw() - 메서드를 공유하지만이 메서드의 매개 변수가 다르므로이 옵션이 아닙니다.
감사합니다. 편집
:
스프라이트 :
class Sprite
{
public:
Sprite(HINSTANCE hAppInst, int imageID, int maskID);
~Sprite();
protected:
HINSTANCE hAppInst;
HBITMAP hImage;
HBITMAP hMask;
BITMAP imageBM;
BITMAP maskBM;
HDC hSpriteDC;
};
Staticsprite :
class StaticSprite : public Sprite
{
public:
StaticSprite(HINSTANCE hAppInst, int imageID, int maskID);
~StaticSprite();
void draw(Position* pos, HDC hBackbufferDC);
};
Dynamicsprite :
class DynamicSprite : public Sprite
{
public:
DynamicSprite(HINSTANCE hAppInst, int imageID, int maskID);
~DynamicSprite();
void draw(HDC hBackbufferDC);
};
여기 내가 할 노력하고있어 설명하기 코드입니다
아시다시피 Sprite 객체를 만드는 것은 쓸모가 없으므로이 클래스를 추상적으로 만들고 싶습니다. 하지만 다른 매개 변수를 사용하므로 draw() 추상화를 만들 수 없습니다.
추상적 인 방법이없는 추상적 인 이유는 무엇입니까? –
그들은 인스턴스화되기를 원하지 않을 것입니다. – Erix
어쨌든 상속 될 메소드가없는 기본 클래스를 갖는 점은 무엇입니까? – Rob