Здравствуйте. У меня проблема с множественным наследованием.
Есть базовый класс:
class CDevice
{
protected:
string Brand;
public:
virtual bool TurnOn() = 0
{
cout << "The device is turned on." << endl;
}
};
И есть два класса, которые наследуются от него.
Первый класс:
class CPrinter : virtual public CDevice
{
protected:
string Color;
public:
virtual bool TurnOn()
{
cout << "The printer is turned on." << endl;
}
};
Второй класс:
class CScanner : virtual public CDevice
{
protected:
int Resolution;
public:
virtual bool TurnOn()
{
cout << "The scanner is turned on." << endl;
}
};
И уже от этих двух классов должен унаследоватся ещё один класс:
class CMFD : public CPrinter, CScanner
{
};
Но уже при создании компилятор сообщает об ошибке:
override of virtual function "CDevice::TurnOn" is ambiguous
В чем проблема и как её исправить?