Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c++ 2.0.docx
Скачиваний:
4
Добавлен:
25.09.2019
Размер:
77.41 Кб
Скачать

8) Описание объектов (экземпляров класса) Способы обращения к полям объекта. (Паскаль).

9) Ввод и вывод массивов, два способа: с выбором элемента по индексу и с выбором элемента по указателю.

10) Константный указатель на вызвавший метод объект (this ) (C++).

11) Типы данных, определяемые пользователем: перечисления.

При написании программ часто возникает потребность определить несколько именованных констант, для которых требуется, чтобы все они имели различные значения. Для этого удобно воспользоваться перечисляемым типом данных. Формат: enum [ имя_типа ] { список_констант };

Имя типа задается в том случае, если в программе требуется определять переменные этого типа. Компилятор обеспечивает, чтобы эти переменные принимали значения только из списка констант. Константы должны быть целочисленными и могут инициализироваться обычным образом. При отсутствии инициализатора первая константа обнуляется, а каждой следующей присваивается на 1 большее значение, чем предыдущей:

enum Err { ERR_READ, ERR_WRITE, ERR_CONVERT};

Err error;

...

switch (error)

{case ERR_READ:/* операторы */ break;

case ERR_WRITE: /* операторы */ break;

case ERR_CONVERT: /* операторы */ break;}

Константам ERR_READ, ERR_WRITE, ERR_CONVERT присваиваются значения 0, 1 и 2 соответственно.

12) Константный указатель на вызвавший метод объект (self ) (Паскаль).

13) Типы данных, определяемые пользователем: структуры.

В отличие от массива, все элементы которого однотипны, структура может содержать элементы разных типов. В языке С++ структура является видом класса и обладает всеми его свойствами, но во многих случаях достаточно использовать структуры так, как они определены в языке С:

struct [ имя_типа ] {

тип_1 элемент_1;

тип_2 элемент_2;

тип_n элемент_n;

} [ список_описателей ];

Элементы структуры называются полями структуры и могут иметь любой тип, кроме типа этой же структуры, но могут быть указателями на него. Для инициализации структуры значения ее элементов перечисляют в фигурных скобках в порядке их описания:

struct{

char fio[30];

int date, code;

float salary;

}worker = {"Страусенко", 31, 215, 3400.55};

Для переменных одного и того же структурного типа определена операцияприсваивания, при этом происходит поэлементное копирование. Структуру можно передавать в функцию и возвращать в качестве значения функции. Другие операции со структурами могут быть определены пользователем. Доступ к полям структуры выполняется с помощью операций выбора . (точка) при обращении к полю через имя структуры и -> при обращении через указатель, например:

Struct first

{int m; int* p;}

Int main()

{first f1; f1.m=1 f1->p=2;}

14) Конструктор и деструктор, их свойства (С++).

. Чтобы упростить процесс инициализации элементов данных класса, C++ использует специальную функцию, называемую конструктором, которая запускается для каждого создаваемого вами объекта. Подобным образом C++ обеспечивает функцию, называемую деструктором, которая запускается при уничтожении объекта. В данном уроке конструктор и деструктор рассматриваются более подробно. К концу этого урока вы освоите следующие основные концепции:

Конструктор представляет собой метод класса, который облегчает вашим программам инициализацию элементов данных класса. Конструктор имеет такое же имя, как и класс. Конструктор не имеет возвращаемого значения. Каждый раз, когда ваша программа создает переменную класса, C++ вызывает конструктор класса, если конструктор существует. Многие объекты могут распределять память для хранения информации; когда вы уничтожаете такой объект, C++ будет вызывать специальный деструктор, который может освобождать эту память, очищая ее после объекта. Деструктор имеет такое же имя, как и класс, за исключением того, что вы должны предварять его имя символом тильды (~). Деструктор не имеет возвращаемого значения.

Представление о конструкторе

Конструктор представляет собой специальную функцию, которую C++ автоматически вызывает каждый раз при создании объекта. Обычное назначение конструктора заключается в инициализации элементов данных объекта. Конструктор имеет такое же имя, как и класс. Например, класс с именем file использует конструктор с именем file. Вы определяете конструктор внутри своей программы так же, как и любой метод класса. Единственное различие заключается в том, что конструктор не имеет возвращаемого значения. Когда вы позже объявляете объект, вы можете передавать параметры конструктору, как показано ниже:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]