2016-09-06 2 views
1

Arduino를 사용하여 이러한 클래스를 구현하려고하는데이 인스턴스를 생성하기가 어렵습니다.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); 

내 컴파일러 말했다 오류가 expected initializer before ‘*’ token Component *led = new Led("t_red", 11);

어떤 제안이?

+1

실제로 Led 생성자를 구현 했습니까? – Rakete1111

+0

@ Rakete1111 나는 그것을 버린다. 나는 Led가 Component 생성자를 사용할 수 있다고 생각했다. – marquesm91

+1

오류 메시지가 약간 이상하지만 Led *에 대한 생성자를 생략하면 오류가 발생하므로 먼저 수정해야합니다. –

답변

1

Led에는 생성자가 필요합니다.

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