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


           

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



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
{ определение личной и общей частей производного класса
}

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


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


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


Содержание  Назад  Вперед