我收到错误
错误:无法分配抽象类型'myClass'的对象
我制作了一个小样本来证明我的错误。 下面是代码。 (包括和#ifndef东西不包括在内)
person.h
class Person{
public:
virtual std::string getRole() = 0;
};
employee.h
class Employee:public Person{
std::string getRole();
};
workplace.h
class Workplace{
public:
void setPeople(std::vector<Person> p);
private:
std::vector<Person> people;
};
workplace.cpp
void Workplace::setPeople(std::vector<Person> p){
people = p;
}
employee.cpp
std::string Employee::getRole(){
return "Generic Employee";
}
我从这个例子中得到的错误是:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7 /../../../../ include / c ++ / 4.4.7 / bits / stl_construct.h:80:错误:无法分配抽象类型'Person'的对象 person.h:7:注意:因为以下虚函数在'Person'中是纯粹的: person.h:9:注意:virtual std :: string Person :: getRole()
提前致谢。