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

2.Директивы препроцессора: директива #include и способы включения файла

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

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

#include <спецификация_файла>

#include “спецификация_файла”

Препроцессор заменяет директиву #include заданным файлом. Первая форма директивы предполагает, что подключается «стандартный» заголовочный файл, имеющий расширение .h. Он будет отыскиваться в «стандартных» директориях, т.е. тех директориях, положение которых задано компилятору заранее.

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

Пример:

#include <stdio.h>

#include “E:\Lib\func.cpp”

3.Вызов функций-элементов

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

имя_класса_объекта.имя_функции(список аргументов).

Билет 27

1.Классы: использование указателя this.

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

this->ВЫРАЖЕНИЕ

(*this).ВЫРАЖЕНИЕ

(здесь ВЫРАЖЕНИЕ обозначает член класса).

this указатель является константным указателем.

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

Переменные объявляют в операторе описания.

INT LOWER, UPPER, STEP;

CHAR C;

Описание имеет след. вид

[модификаторы] спецификатор_типа идентификатор [, идентификатор];

Модификаторы - ключевые слова signed, unsigned, short, long.

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

Идентификатор - имя переменной.

3.Один из способов условной компиляции — это использование директив #ifdef и #ifndef, которые соответственно означают "if defined" (если определено) и "if not defined" (если не определено). В общем виде #ifdef выглядит таким образом:

#ifdef имя_макроса

последовательность операторов

#endif

Блок кода будет компилироваться, если имя макроса было определено ранее в операторе #define.

В общем виде оператор #ifndef выглядит таким образом:

#ifndef имя_макроса

последовательность операторов

#endif

Блок кода будет компилироваться, если имя макроса еще не определено в операторе #define.

И в #ifdef, и в #ifndef можно использовать оператор #else или #elif.

Билет 29