【发布时间】:2017-03-20 13:52:31
【问题描述】:
给出的是类IPrinterManager 及其子类ColorPrinterManager。 ColorPrinter 是 AbstractPrinter 的子类。编译中止并显示消息ColorPrinterManager::print is not a covariant of IPrinterManager::print。我该如何解决这个问题?
class IPrinterManager
{
public:
virtual std::vector<std::shared_ptr<AbstractPrinter>>* print(std::string text) = 0;
};
class ColorPrinterManager : public IPrinterManager
{
public:
std::vector<std::shared_ptr<ColorPrinter>>* print(std::string text);
};
【问题讨论】:
标签: c++ pointers inheritance polymorphism virtual