sto ottenendo un undefined reference to `vtable per gli studenti' durante la compilazione della seguente file di intestazione:undefined reference to 'vtable per la classe' costruttore
student.h
class student
{
private:
string names;
string address;
string type;
protected:
float marks;
int credits;
public:
student();
student(string n,string a,string t,float m);
~student();
string getNames();
string getAddress();
string getType();
float getMarks();
virtual void calculateCredits();
int getCredits();
};
student::student(){}
student::student(string n, string a,string t,float m)
{
names = n;
address = a;
marks = m;
}
student::~student(){}
non riesco a trovare cosa c'è di sbagliato in questo
ringraziamento, ha funzionato .. in realtà questo è solo una parte del file di intestazione, ho un'altra classe di sotto della quale utilizza i calculateCredits funzione() ho pensato che non vi era alcuna necessità di definire nella classe dello studente .. – Tarounen
Nella maggior parte degli ABI, il vtable viene emesso nell'unità di compilazione che definisce la prima funzione virtuale non definita nella definizione della classe. Se non ce n'è, verrà emesso in tutto. Più oggetti simili verranno quindi piegati. – Deduplicator
Ricevo lo stesso errore nonostante abbia definito la funzione virtuale come mostrato sopra. Potrebbe esserci qualcos'altro che mi manca? – Naveen