- •Динамическое распределение памяти Статическое выделение памяти
- •Динамическое выделение памяти
- •Библиотека c для управления динамическим выделением памяти
- •Изменение размеров выделенного блока
- •Агрегатные типы данных
- •Объявление структур
- •Определение и инициализация переменных
- •Инициализация
- •Доступ к полям структуры
- •Функции и структуры
- •Создание синонимов для структурных типов
- •Файловый ввод и вывод
- •Открытие файла
- •Функции для ввода вывода в поток
- •Управление просмотром файлов
- •Функции с переменным числом аргументов
- •Реализация функций с переменным числом аргументов
- •Особенности вызова функции в си
- •Объектно-ориентированное программирование
- •1) Абстрагирование
- •2) Декомпозиция
- •3)Инкапсуляция
- •Наследование
- •Расширение понятия структура
- •Использование ссылок в аргументах функции
- •Функции, возвращающие ссылки
- •Проблема инициализации
- •Объявление и определение классов
- •Конструкторы и деструкторы
- •Варианты синтаксиса инициализации объектов
- •Статические члены-данные
- •Неявный указатель this
- •Статические методы классов
- •Конструктор копирования
- •Друзья класса
- •Область видимости в классе
- •Уточнение концепции ограничения доступа
- •Наследование
- •Конструкторы и деструкторы производных классов
Конструкторы и деструкторы производных классов
В современных языках программирования для обозначения наследования часто применяется слово extands - расширяет. Это означает: чем ниже мы опускаемся по иерархии наследования, тем конкретней становятся классы, за счет того, что в рассмотрение добавляются новые свойства и методы. С другой стороны, если рассматривать множество объектов, входящих в дочерний класс, то оно является подмножеством базового, то есть происходит сужение. Люди - дети - школьники. При конструировании объектов производных классов используется идея расширения, то есть сначала строится базовая часть объекта, а потом достраивается то, что добавлено в производном классе. При этом для формирования базовой части может потребоваться передать конструктору базового класса некоторые параметры. В конструкторе производного класса можно вызвать конструктор базового класса: derived(int x, int y): base(x) {...}
Конструктор базового класса вызывается всегда, даже если он не указан. В этом случае по умолчанию будет вызван конструктор без параметров.