फ़ाइल आहसी ++ अपरिभाषित संदर्भ vtable करने और विरासत
#ifndef A_H_
#define A_H_
class A {
public:
virtual ~A();
virtual void doWork();
};
#endif
फ़ाइल Child.h
#ifndef CHILD_H_
#define CHILD_H_
#include "A.h"
class Child: public A {
private:
int x,y;
public:
Child();
~Child();
void doWork();
};
#endif
और Child.cpp
#include "Child.h"
Child::Child(){
x = 5;
}
Child::~Child(){...}
void Child::doWork(){...};
संकलक का कहना है एक अपरिभाषित संदर्भ है कि वहाँ A
के लिए vtable करने के लिए। मैंने कई अलग-अलग चीजों की कोशिश की है और अभी तक कोई भी काम नहीं किया है।
मेरा उद्देश्य इंटरफेस होने के लिए कक्षा A
के लिए है, और हेडर से कार्यान्वयन कोड अलग करने के लिए है।
आपको घोषित किए गए प्रत्येक गैर-शुद्ध वर्चुअल फ़ंक्शन को परिभाषित करना होगा। आपको एक गैर-वर्चुअल फ़ंक्शन को परिभाषित करने की आवश्यकता नहीं है जिसे आप घोषित करते हैं लेकिन उपयोग नहीं करते हैं। –