,如果我要创建我有这个基类C++ - 从抽象对象创建非抽象对象
class Object {
...
public:
virtual void move() = 0;
virtual void move(string) = 0;
virtual void powerOn() = 0;
virtual void powerOff() = 0;
virtual void speak() = 0;
};
这将是不同类
class Electronics : public Object {
...
public:
virtual void powerOn();
virtual void powerOff();
};
void Electronics::powerOn() { ... }
void Electronics::powerOff() { ... }
class Phone : public Electronics {
...
public:
};
基类现在,一个对象Phone,它使用powerOn()和powerOff()方法。我不需要其他三种方法。
Object *obj = new Phone;
但是,这可能会给我一个错误说
undefined reference to move()
undefined reference to move(string)
undefined reference to speak()
我的问题是,如何避免这个错误。我不需要这些Phone的功能,但它需要我对他们做些什么。我怎么能通过这个错误?
感谢
你可以从Object中删除这些函数,并在你真正需要它们的较低的子类中使用它们 – Pooya
我需要稍后做类似以下操作:Object * phone = new Phone。然后,当我打电话给phone-> powerOn()时,它会说Object类 –