- •1)Указатели.
- •3) Инициализация указателей
- •4) Понятие класса. Описание класса (Паскаль). Поля и методы. Пример
- •5) Операции с указателями
- •7) Массивы. Описание одномерных и многомерных массивов, инициализация.
- •8) Описание объектов (экземпляров класса) Способы обращения к полям объекта. (Паскаль).
- •9) Ввод и вывод массивов, два способа: с выбором элемента по индексу и с выбором элемента по указателю.
- •11) Типы данных, определяемые пользователем: перечисления.
- •12) Константный указатель на вызвавший метод объект (self ) (Паскаль).
- •13) Типы данных, определяемые пользователем: структуры.
- •15)Типы данных, определяемые пользователем: объединения.
- •16) Конструктор и деструктор, их свойства (Паскаль).
- •17) Функции. Объявление и определение, заголовочные файлы в с и предописания (forward) в Паскале.
- •19) . Способы обмена данными: с помощью глобальных переменных.
- •21) Способы обмена данными: Возвращаемое значение.
- •23) Способы обмена данными: Параметры функции.
- •24) Виртуальные методы и абстрактные классы.
- •25) Передача параметров по значению и по адресу.
- •30) Delphi nenado
- •31) Перегрузка функций.
- •40) Код проекта. Nenado
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. Вы определяете конструктор внутри своей программы так же, как и любой метод класса. Единственное различие заключается в том, что конструктор не имеет возвращаемого значения. Когда вы позже объявляете объект, вы можете передавать параметры конструктору, как показано ниже: