Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП 2012.doc
Скачиваний:
31
Добавлен:
24.09.2019
Размер:
301 Кб
Скачать
☆

Int Pages;

char *getName() { // метод по умолчанию inline, так

return Name; // как его тело описано в классе

}

Int getPages(); // тело будет описано в book.Сpp

};

#endif

18) Перегрузка функций.

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

• Перегрузка функций позволяет вам использовать одно и то же имя для нескольких функций с разными типами параметров.

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

19) Функции с параметрами по умолчанию.

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

• C++ позволяет программам указывать для параметров значения по умолчанию.

• Значения по умолчанию для параметров указываются в заголовке функции при ее определении.

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

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

void InitWindow(char *windowname,

int xSize=80, int ySize=25,

int barColor=BLUE,

int frameColor=CYAN){...}

Вызов: InitWindow(pname,20,10);

20) Текстовые файлы. Отличие от Delphi Pascal.

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

stdin – файловая переменная стандартного файла ввода, связанного с клавиатурой;

stdout – файловая переменная стандартного файла вывода, связанного с дисплеем;

stderr – файловая переменная стандартного файла вывода сообщений об ошибках, связанного с дисплеем.

Первые два файла имеют тип ≪логическое устройство≫ и могут быть переназначены при использовании в командной строке специальных записей вида:

< – для стандартного файла ввода;

> – для стандартного файла вывода с перезаписыванием;

>> – для стандартного файла вывода с добавлением.

Стандартные файлы имеют номера 0, 1, 2, которые можно использовать вместо имен файлов соответственно.

Например:

cat.exe <file1.dat >file2.dat

cat2.exe <file3.dat >>file2.dat 2>&1

В данном примере для программы cat1.exe ввод данных будет осуществляться из файла file1.dat, а вывод – в файл file2.dat, для программы cat2.exe ввод – из файла file3.dat, а вывод – дописываться в конец файла file2.dat, вместе с потоком ошибок (2>&1)(если они будут).

Программирование операций ввода/вывода для текстовых файлов выполняется с использованием специальных функций.

Ввод символа:

int getc(FILE *stream); // введенный символ возвращается как результат

функции. При достижении конца файла функция возвращает константу EOF.

Вывод символа:

int putc(int c,FILE *stream); // выводимый символ передается через па-

раметр c, он же возвращается в качестве результата функции.

Ввод строки:

char *fgets(char *s,int n,FILE *stream); // вводит строку длиной до

n-1 или до маркера ≪Конец строки≫ в буфер по адресу s. Возвращает дубликат указателя на

введенную строку. При достижении конца файла возвращает NULL.

Вывод строки:

int fputs(const char *s,FILE *stream); // выводит строку из буфера по

адресу s. Если вывод прошел нормально, то возвращает 0, иначе возвращает -1.

Операции форматного ввода/вывода предполагают, что при выполнении этих дей-

ствий осуществляется: при вводе – преобразование символьного представления данных во

внутреннее машинное представление в соответствии с заданным форматом и, наоборот,

при выводе – преобразование из внутреннего формата в символьный. Символьное пред-

ставление данных в отличие от внутреннего может быть воспринято человеком, и преоб-

разование к символьному виду, как правило, сопутствует выполнению операций ввода ин-

формации от пользователя или выводу результатов пользователю.

Форматный ввод:

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