68941

Контейнери

Лекция

Информатика, кибернетика и программирование

Іншими словами ви оголошуєте клас який містить члени даних які самі є екземплярами інших класів або покажчиками на інші класи. За допомогою контейнера класгосподар отримує доступ до відкритих членів класів що містяться. Деякі знавці C вважають за краще використовувати контейнери а не множинне спадкоємство...

Украинкский

2014-09-27

23.5 KB

0 чел.

Лекція № 3

Тема: Контейнери

Контейнери

Контейнери — техніка програмування, яка використовує екземпляри класів або покажчики на класи як члени даних інших класів. Іншими словами, ви оголошуєте клас, який містить члени даних, які самі є екземплярами інших класів або покажчиками на інші класи. Класи, що містяться, необов'язково пов'язані (і зазвичай не зв'язані) з класом-господарем загальними класами-предками. За допомогою контейнера клас-господар отримує доступ до відкритих членів класів, що містяться.

Деякі знавці C++ вважають за краще використовувати контейнери, а не множинне спадкоємство, оскільки ініціалізація класів, що містяться, вабить менше можливих двозначностей, чим ініціалізація класів при множинному спадкоємстві.

Використовуйте покажчики на класи як контейнери членів даних, коли ці класи не мають конструкторів але умовчанню або ви хочете ініціалізувати ці члени даних особливим способом.

Не забувайте створювати і усувати динамічні екземпляри класів (звернення до яких здійснюється за допомогою члена даних типу покажчик на клас) за допомогою конструктора і деструкції відповідно.

 

Приведемо простий приклад класів, що містяться.

class Array {

// декларація членів

};

class Matrix

{

// декларація членів

};

class LinearEquationSystem {

publ ic:

// декларація членів

protected:

Array n_Array;

Matrix m_Matrix;

// декларація інших членів

};

У прикладі оголошені класи Array, Matrix і LinearEquationSystem. Останній названий клас оголошений як клас, що має члени даних m_Array і m_Matrix, які є екземплярами класів Array і Matrix відповідно.


 

А также другие работы, которые могут Вас заинтересовать

66602. Создание модуля для управления поведением компьютерного персонажа 569.79 KB
  Цель работы: создание программного модуля, реализующего алгоритм нечёткого логического вывода, применение модуля для определения поведения компьютерного персонажа, клиент-серверное разделение функциональности. Создан модуль нечёткого логического вывода LogicalOutput...
66603. Исследование помехоустойчивости информационной системы при простом кодировании 144 KB
  Построение простого табличного кода и экспериментальное определение достоверности передачи закодированного этим кодом сообщения по каналу связи с шумами. Определение зависимости энтропии сообщения от уровня шумов в канале связи.
66605. Системы управления ИТ-инфраструктурой 51.54 KB
  Существует несколько методов оценки глубины полупространственная глубина симплексная глубина и глубина зоноида. Определение глубины Глубина является мерой близости к центру с помощью которой многомерная информация может быть упорядочена.
66606. Создания информационной системы компании «ИП Шедиков Е.Г.» 330.5 KB
  Качество обслуживания клиентов. Ассортимент продукции изменяется каждый день и даже самый опытный продавец не в состоянии полностью отследить все эти изменения. На торговых точках продавцу просто необходимо знать информацию о реализуемой продукции и быстро предоставлять ее клиенту.