- •5)Указатели и ссылки.
- •12) Параметры структурных типов.
- •13) Классы памяти переменных.
- •14) Параметры-функции.
- •15) Правила, определяющие видимость переменных в функциях.
- •16) Пространства имен.
- •19) Функции с параметрами по умолчанию.
- •20) Текстовые файлы. Отличие от Delphi Pascal.
- •Int Pages;
- •Int getPages(); // тело будет описано в book.Сpp
- •18) Перегрузка функций.
- •Int fscanf(file *stream,const char *format[,adress,...]);
- •Int fprintf(file *stream,const char *format[,argument,...]);
- •21) Двоичные файлы. Отличие от Delphi Pascal.
- •22) Определение класса, компоненты класса. Ограничение доступа.
- •23) Инициализация полей при отсутствии конструктора.
- •24) Конструкторы. Инициализация полей при наличии конструктора.
- •25) Деструкторы.
- •27) Простое и множественное наследование классов.
- •28) Наследование. Ограничение доступа при наследовании.
- •29) Конструкторы и деструкторы производных классов.
- •30) Композиция.
- •31)Наполнение
- •32) Полиморфное наследование. Простой полиморфизм.
- •33) Полиморфное наследование. Сложный полиморфизм.
- •34) Статические компоненты классов.
- •35) Особенности работы с динамическими объектами.
- •36) Объекты с динамическими полями. Копирующий конструктор.
- •Void Print(tPoint r) {…}
- •37) Дружественные функции, методы и классы.
- •38) Переопределение операций.
- •39) Шаблоны классов.
- •40) Шаблоны функций.
- •46) Сигналы, слоты и события Qt.
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.
Операции форматного ввода/вывода предполагают, что при выполнении этих дей-
ствий осуществляется: при вводе – преобразование символьного представления данных во
внутреннее машинное представление в соответствии с заданным форматом и, наоборот,
при выводе – преобразование из внутреннего формата в символьный. Символьное пред-
ставление данных в отличие от внутреннего может быть воспринято человеком, и преоб-
разование к символьному виду, как правило, сопутствует выполнению операций ввода ин-
формации от пользователя или выводу результатов пользователю.
Форматный ввод:
