<分区>
我有名为 Worker 的基类和两个派生类 Merchant 和 Baker。
class Worker
{
private:
string _name;
public:
Worker(string, string, string, int);
~Worker();
virtual string atributes() = 0;
};
class Merchant : public Worker
{
private:
string _skillLevel;
public:
Merchant(string, string);
string atributes() override;
};
class Baker : public Worker
{
private:
string yearsOfExperiance;
public:
Baker(string, string);
string atributes() override;
};
我已经创建列表 list<Workers> Workers
我正在添加像这样的 Merchant 和 Baker 对象:
void addToList(string name, string atributes, list<Worker>& Worker)
{
if (name == "John")
{
Baker kk = Baker(name, atributes);
Workers.push_front(kk);
}
else if (profesja == "Barack")
{
Merchant pp = merchant(name, atributes);
Workers.push_front(pp);
}
}
问题是当我尝试编译代码时出现 C2259 错误。它说
'Worker': cannot instantiate absract class
你能告诉我如何解决这个问题吗?