ВУЗ:
Составители:
Рубрика:
48
Объединения не могут быть ни базовыми, ни порожденными классами.
Структуры могут участвовать в иерархии классов.
Пример:
class B1
{ protected : int b1;
public:
// Такой конструктор может одновременно служить и
// конструктором по умолчанию:
// если аргументы не указаны, то b1=0.
B1 (int x=0) {b1=x; }
};
class B2
{ protected : int b2;
public:
B2 (int y=0) {b2=y; }
};
class D: public B1, public B2 // Множественное наследование
{private: int d; // Данные D - b1, b2, d
public:
//В данном конструкторе использован список инициализаций
D (int x, int y, int z=0): B1(x), B2(y) {d=z;}
};
Полиморфизм
Свойство
полиморфизма (дословно - "множественность форм") означает, что
функциональность базовых классов может быть изменена в классах-наследниках.
Например, в иерархии графических объектов (точка, линия, квадрат,
прямоугольник, окружность, эллипс и т.д.) каждый объект имеет собственный
метод вывода изображения на экран Draw. Таким образом, каждый объект будет
обрабатывать запрос на вывод изображения согласно
своему типу. Полиморфизм
реализуется в языке Си++ с помощью виртуальных функций.
Виртуальные функции. "Чистые" виртуальные функции
Виртуальные функции позволяют классам-наследникам определять различные
версии функций базового класса. Для описания виртуальных функций используется
ключевое слово virtual. Механизм виртуальных функций работает в тех случаях,
когда тип и аргументы переопределяемой функции одинаковы в
базовом и
48 Объединения не могут быть ни базовыми, ни порожденными классами. Структуры могут участвовать в иерархии классов. Пример: class B1 { protected : int b1; public: // Такой конструктор может одновременно служить и // конструктором по умолчанию: // если аргументы не указаны, то b1=0. B1 (int x=0) {b1=x; } }; class B2 { protected : int b2; public: B2 (int y=0) {b2=y; } }; class D: public B1, public B2 // Множественное наследование {private: int d; // Данные D - b1, b2, d public: //В данном конструкторе использован список инициализаций D (int x, int y, int z=0): B1(x), B2(y) {d=z;} }; Полиморфизм Свойство полиморфизма (дословно - "множественность форм") означает, что функциональность базовых классов может быть изменена в классах-наследниках. Например, в иерархии графических объектов (точка, линия, квадрат, прямоугольник, окружность, эллипс и т.д.) каждый объект имеет собственный метод вывода изображения на экран Draw. Таким образом, каждый объект будет обрабатывать запрос на вывод изображения согласно своему типу. Полиморфизм реализуется в языке Си++ с помощью виртуальных функций. Виртуальные функции. "Чистые" виртуальные функции Виртуальные функции позволяют классам-наследникам определять различные версии функций базового класса. Для описания виртуальных функций используется ключевое слово virtual. Механизм виртуальных функций работает в тех случаях, когда тип и аргументы переопределяемой функции одинаковы в базовом и
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »