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

3) Инициализация указателей

Указатели чаще всего используют при работе с динамической памятью. Доступ к выделенным участкам динамической памяти, называемым динамическими переменными, производится только через указатели. Время жизни динамических переменных - от точки создания до конца программы или до явного освобождения памяти. В С ++ используется два способа работы с динамической памятью. Первый использует семейство функций malloc и достался в наследство от С, второй использует операции new и delete. Существуют следующие способы инициализации указателя:

1. Присваивание указателю адреса существующего объекта:

с помощью операции получения адреса:

int* p = &a; // в указатель записывается адрес a

int* r = p;

int b[10]; // массив

int* t = b; // присваивание имени массива

void (*pf)(int); // указатель на функцию

pf = f; // присваивание имени функции

2. Присваивание указателю адреса области памяти в явном виде:

char* vp = (char *)0xB8000000; // шестнадцатеричная константа

3. Присваивание пустого значения:

int* suxx = NULL; // не рекомендуется

int* rulez = 0; // так - лучше

4. Выделение участка динамической памяти и присваивание ее адреса указателю:

с помощью операции new

int* q = new int [10];

Освобождение памяти, выделенной с помощью операции new, должно выполняться с помощью delete, а памяти.

4) Понятие класса. Описание класса (Паскаль). Поля и методы. Пример

Класс – это структура языка, включающая, помимо описания данных, описание процедур и функций, которые могут быть выполнены над представителем класса – объектом.

Переменные в зависимости от предназначения именуются полями или свойствами. Процедуры и функции класса – методами. Соответствующий классу тип называется объектным типом.

Пример объявления простого класса:

type

TPerson = class (TObject)

private

fname: string[15]; faddress: string[35];

public

procedure Show;

end;

TPerson – это имя класса, fname и faddress – имена полей, show – имя метода.

Согласно принятому в Delphi соглашению, имена полей должны начинаться с буквы f (от слова field – поле).

Классы могут быть объявлены в секции интерфейса (interface) или в секции реализации (implementation) модуля. Определение классов внутри подпрограмм и других блоков не допускается.

Объект– это конкретный экземпляр, созданный в соответствии с его объявлением с помощью класса. Переменная типа класс – это переменная объектного типа и называется экземпляром класса или объектом. Объекты как представители класса объявляются в программе в разделе var, например:

Var student: TPerson; professor: TPerson;

Поля

Поля – это данные, уникальные для каждого экземпляра класса. Они предназначены для хранения данных во время работы экземпляра класса (объекта). Поле объявляется как обычная переменная и может быть любого типа. В описании класса поля должны предшествовать методам и свойствам.

Методы

Метод – это подпрограмма (процедура или функция), которая определена как элемент класса. Описание метода аналогично описанию обычной подпрограммы модуля. Внутри одного класса можно объявить столько методов, сколько надо.

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