Бьерн Страуструп.
Язык программирования С++
165
};
class displayed {
//
...
virtual void draw() = 0;
};
class satellite : public task, public displayed {
//
...
void
pending();
void
draw();
};
Здесь функции satellite::draw() и satellite::pending() для объекта типа satellite будут вызываться так же,
как если бы он был объектом типа displayed или task, соответственно.
Отметим, что ориентация только на единственное наследование
ограничивает возможности
реализации классов displayed, task и satellite. В
таком случае класс satellite мог бы
быть task или
displayed, но не то и другое вместе (если, конечно, task не является производным от displayed или
наоборот). В любом случае теряется гибкость.
Достарыңызбен бөлісу: