Inheritance 如何使用Arduino实例化具有多态性的对象

Inheritance 如何使用Arduino实例化具有多态性的对象,inheritance,arduino,polymorphism,Inheritance,Arduino,Polymorphism,我正在尝试使用Arduino实现这些类,但很难将其实例化 class Component{ private: String _name; int _pin; public: Component(char* name, int pin){ _name = name; _pin = pin; } Component(Component &comp){ _name = comp.get_name(); _pin = comp.get_pin(

我正在尝试使用Arduino实现这些类,但很难将其实例化

class Component{
private:
  String _name;
  int _pin;
public:
  Component(char* name, int pin){
    _name = name;
    _pin = pin;
  }
  Component(Component &comp){
    _name = comp.get_name();
    _pin = comp.get_pin();
  }

  String get_name(){ return _name; }
  int get_pin(){ return _pin; }

  void set_name(String value){ _name = value;}
  void set_pin(String value){ _pin = value;}

  virtual void routine() = 0;
};

class Led : public Component{
public:
  Led(char* name, int pin) : Component(name, pin) {}
  void routine(){
   /* virtual function implemented here*/
  }
};

Component *led = new Led("t_red", 11);
我的编译器所说的错误是,
在“*”标记之前需要初始值设定项
组件*led=新led(“t_红色”,11)


有什么建议吗?

Led
需要一个构造函数

class Led : public Component {
    // ...
    Led(char* name, int pin) :
        Component(name, pin)
    {
    }
};

你是真的实现了
Led
的构造函数,还是遗漏了它?@Rakete1111我遗漏了它。我认为Led可以使用组件构造函数。错误消息有点奇怪,但是省略Led的构造函数是一个错误,您应该首先修复它。