Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по программ(мои).doc
Скачиваний:
19
Добавлен:
01.03.2025
Размер:
970 Кб
Скачать
☆

Билет 7

1. Библиотеки функций и их подключение.

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

Подключение #include < указ. имени заголовочного файла>если встроенная библиотека и в кавычках, если созданная пользователем.

языка Си:

stdio.h – содержит функции, работающие со строками и символами

math.h – библиотека математических функций

stdlib.h- библиотека функций поиска и сортировки данных.

Пример:#include <stdio.h>

2. Спецификаторы и модификаторы в объявлениях

Объявления переменной имеет следующий формат:

<спецификатор типа> <список переменных>;

INT LOWER; char c;

Спецификатор типа - одно или несколько ключевых слов, определяющие тип объявляемой переменной.

Спецификатор класса памяти - определяется одним из четырех ключевых слов языка СИ: auto, extern, register, static, и указывает, каким образом будет распределяться память под объявляемую переменную, и область видимости этой переменной.

Формат объявления указателя:

спецификатор-типа [ модификатор ] * описатель .

Спецификатор-типа задает тип объекта и может быть любого основного типа, типа структуры. В качестве модификаторов при объявлении указателя могут выступать ключевые слова const (указывает, что указатель не может быть изменен в программе), Для модификации размера указателя near, far, huge.

3. Объекты класса и члены данных.

Объекты обладают свойствами наследования, инкапсуляции и полиморфизма.

!!!!!!Классами в С++ являются также структуры (struct) и объединения (union). Отличием структуры и объединения от класса является то, что их члены по умолчанию открытые (public), а не закрытые, как у класса. Это обеспечивает преемственность с языком C. Кроме того, структуры и объединения не могут наследоваться и наследовать.

Объекты класса как члены данных

class First { public:

int value;

First ( ) { value = 0; }

int GetValue ( ) { return value; }

};

class Second {

int id;

public:

First object;

Second ( ) { id - 0; }

int GetName ( ) { return id; }

};

void main ( ) {

First one;

Second two;

}

Конструктор класса First не требует аргументов. При создании объекта one обычно вызывается его конструктор. Когда создается объект two, вызывается и его конструктор, но, прежде чем будет выполнено тело конструктора, должен быть выполнен конструктор класса First. Такая последовательность вызовов конструкторов генерируется компилятором автоматически и позволяет конечному объекту two содержать правильно сконструированный подобъект класса First.

Если член данных класса должен быть инициализирован с особыми параметрами, то нужно использовать специальную запись. Конструктор члена данных нужно вызвать с аргументами путем передачи параметров непосредственно перед входом в тело конструктора включающего класса.

Класс члена данных, в свою очередь, также может содержать члены данных типа класс. Компилятор автоматически рекурсивно вызовет конструкторы этих классов. Обратите внимание, что классы членов данных инициализи¬руются в порядке их появления в объявлении класса. Если какие-то классы не нуждаются в аргументах, то их можно не указывать. В классе может быть указано любое количество членов данных класса.