我刚开始用c ++编程,我不明白为什么Xcode会这么说"可变类型' Rect'是一个抽象类" .. 你可以在这里找到我的代码的一部分: 提前感谢您的帮助,
{{1}}
答案 0 :(得分:1)
这是标准错误。 这意味着没有为要创建对象的类实现某些纯虚方法。
在这种情况下,Rect必须实现std::vector<std::string> toStrings() const
。解决它:
class Rect : public Figure
{
public:
Rect(int l, int h,std::string Label) : Figure(l), _h(h),_Label(Label) {};
~Rect(){};
std:: vector<std::string> toStrings() const override
{
return {};
}
protected:
int _h;
int _l;
std::string _Label;
};
从C ++ 11开始,override
关键字有助于发现此类错误。