के रूप में घोषित नहीं किया जा सकता है मुझे संकलन पर यह त्रुटि मिलती है -> क्षेत्र एम 1 :: एससी को अमूर्त प्रकार I1 के रूप में घोषित नहीं कर सकता क्योंकि निम्न वर्चुअल फ़ंक्शन I1 के भीतर शुद्ध हैं। कृपया मदद करे।सी ++: क्षेत्र को अमूर्त प्रकार
class I1
{
public:
virtual void a(int dir) = 0;
virtual void b() = 0;
virtual void c() = 0;
void a(int dir) {
....
}
void b() {
....
}
void c() {
....
}
};
class I2 : public I1
{
public:
void a(int dir) {
....
}
void b() {
....
}
void c() {
....
}
};
class M1 : public G1
{
protected:
I1 sc;
public:
int dir = 4;
sc.a(dir);
};
पूरा कोड http://pastebin.com/PFrMTJuF पर पाया जा सकता है।
sc_ क्या प्रतिनिधित्व करता है? क्या मैं इसका इस्तेमाल उसी तरह कर सकता हूं? – user522767
@user, 'sc_' एक निर्माता पैरामीटर है, जिसे 'एम 1' का उदाहरण बनाने के लिए आवश्यक है। मेरे उदाहरण में, इसे 'I1' से व्युत्पन्न एक ठोस वर्ग के उदाहरण और 'ए()', 'बी()' और 'सी()' के कार्यान्वयन को इंगित करना चाहिए। जैसे 'I2' का एक उदाहरण काम करेगा। –
क्या मैं आपको अपना कोड भेज सकता हूं? मैं सी ++ में नया हूं और मैं वास्तव में सबकुछ का वर्णन नहीं कर सकता क्योंकि मेरे पास मेरे प्रोजेक्ट में कुछ फाइलें हैं जो एक साथ जुड़े हुए हैं। – user522767