在c ++中用类创建一个对象

时间:2017-11-19 15:34:58

标签: c++ xcode oop

我刚开始用c ++编程,我不明白为什么Xcode会这么说"可变类型' Rect'是一个抽象类" .. 你可以在这里找到我的代码的一部分: 提前感谢您的帮助,

{{1}}

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关键字有助于发现此类错误。