Информатика и технология программирования


Двоичное дерево - часть 4



man(char *);
};
//----- Конструктор класса man с неявным вызовом ----------


// конструкторов для dat1 и dat2 без параметров


man::man(char *p) { ... }
//----- Конструктор класса man с явным вызовом ------------


// конструкторов для dat1 и dat2 с параметрами


man::man(char *p,char *p1, char *p2) : dat1(p1), dat2(p2)
{ ... }
// Вызов конструктора для объекта dat1


// В качестве параметра передается строка -


// второй параметр вызова


// конструктора для класса man Вызов конструктора для объекта dat2


void main()
{
man JOHN("John","8-9-1958","15-1-1987");
// 1. Строка конструктора man


// 2. Строка передается конструктору объекта dat1 в объекте man


// 3. Строка передается конструктору объекта dat2 в объекте man


}

Другой способ создания иерархии классов заключается в том, что новый класс автоматически включает в себя все свойства старого класса, а затем развивает их. С абстрактной точки зрения старый класс определяет только общие свойства, а новый -конкретизирует более частные свойства.

Сохранение с новом классе свойств старого называется НАСЛЕДОВАНИЕМ . Принцип наследования состоит в том, что элементы данных старого класса автоматически становятся элементами данных нового класса, а все функции-элементы старого класса применимы к объекту нового класса, точнее к его старой составляющей.

Старый класс при этом называется БАЗОВЫМ КЛАССОМ (БК), новый - ПРОИЗВОДНЫМ КЛАССОМ (ПК).

Синтаксис определения производного класса имеет вид:


class производный : базовый_1, базовый_2,...базовый_n
{ определение личной и общей частей производного класса
}

Перечислим основные свойства базового и производного классов:



-объект базового класса определяется в производном классе как неименованный. Это значит, что он не может быть использован в явном виде как обычный элемент данных;



-элементы данных базового класса включаются в объект производного класса (как правило, транслятор размещает их в начале объекта производного класса). Однако личная часть базового класса закрыта для прямого использования в производном классе;




- Начало -  - Назад -  - Вперед -