क्या कोई सार तत्व घोषित किए बिना सी ++ में कक्षा सार बनाना संभव है? वर्तमान में, मेरे पास स्टेटसाइट स्प्रिट और डायनामिकस्प्रिट सबक्लास के साथ एक स्प्राइट क्लास है। मैं स्प्राइट क्लास सार बनाना चाहता हूं।सार तत्वों के बिना सार वर्ग
समस्या यह है कि वे साझा करने के कोई भी तरीके नहीं हैं। खैर, दोनों StaticSprite और DynamicSprite ड्रॉ() - विधि साझा कर सकते हैं, लेकिन इस विधि के पैरामीटर अलग हैं इसलिए यह एक विकल्प नहीं है।
धन्यवाद!
संपादित करें:
स्प्राइट:
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);
};
यहाँ मैं क्या करने की कोशिश कर रहा हूँ प्रदर्शित करने के लिए कोड है
जैसा कि आप देखते हैं, स्प्राइट-ऑब्जेक्ट बनाने के लिए बेकार है, इसलिए मैं उस वर्ग सार को बनाना चाहता हूं। लेकिन मैं draw() सार नहीं बना सकता क्योंकि यह विभिन्न मानकों का उपयोग करता है।
यह सार तत्वों के बिना सार क्यों होना चाहिए? –
शायद वे इसे तत्काल नहीं चाहते हैं – Erix
बेस क्लास होने का कोई मतलब नहीं है, वैसे भी विरासत प्राप्त करने के लिए कोई तरीका नहीं है? – Rob