开发者

undefined reference to 'vtable for classname' [duplicate]

This question already has answers here: Closed 11 years ago.

Possible Duplicate:

Undefined reference to vtable

I have a class Student on the file - student.h and this is its constructor:

class Student
{
protected:
  double _id;
  double _salary;
  double _grade_average;

public:
    Student(double id, double salary,double average):
        _id(id),_salary(salary),_grade_average(average)
    {}
};

And then I get the error:

undefined reference to 'vtable for Student'

What is the problem?

this is a University.h file:

 #include "Student.h"
class University : public Student
{
public:
  virtual double getValue();
  University(c开发者_运维知识库har university_id,double id, double average,double salary):
    _university_id(university_id),Student(id,average,salary)
  {
  }

private:
  char _university_id;
  static double how_many;
  static double sum_avg_grades;
};


A couple of things.

  1. Put the underscore after the variable name. As names that start with an underscore may be used by the compiler.
  2. Make sure to define at least one virtual function if you plan on inheriting from it or using RTTI. (ex. a Virtual Destructor)
  3. Make sure that every declared function has a corresponding implementation.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜