- •Ввод и вывод
- •Функции ввода-вывода сгруппированы в соответствии с возможностями в три основных потоковых класса:
- •Стандартные потоки cin, cout и ce
- •Операторы ввода и вывода данны
- •Пример ввода и вывода данных с помощью функций scanf() и printf() языка С:
- •Функция cin.getline()
- •Создание новых типов данных
- •регрузка операторов ввода и выво
- •Файловый ввод-вывод
- •бъявление функций без параметр
- •Макроподстановка функций
- •Параметры-ссылки
- •При передаче в параметрах функции большого значения (структура) целесообразно использовать передачу константной ссылки:
- •Псевдонимы
- •инамическое распределение памя
- •Выделение памяти под массив:
- •Параметры по умолчанию
- •Унарная операция разрешения области действия
- •Унарная операция разрешения области действия
- •Перегрузка функций
- •Перегрузка функций
- •Шаблоны функций
Перегрузка функций
В языке С++ допускается перегрузка функций – возможность использования одного и того же идентификатора для именования нескольких функций.
double Square(double); double Square(double,double);
int main(int argc, char* argv[])
{
cout << "Площадь окружности: " << Square(5) << endl;
cout << "Площадь прямоугольника: " << Square(2,6) << endl; return 0;
}
double Square(double r) { return 3.1415*r*r; } double Square(double a, double b) { return a*b; }
Перегрузка функций
Сигнатура функций: @имя$qпараметры
Примеры:
double square(double) |
@square$qd |
double square(double,double) @square$qdd
Шаблоны функций
Все определения шаблонов функций начинаются с ключевого слова template, за которым следует
список формальных параметров шаблона функции, заключенный в угловые скобки (< и >). Каждому
формальному параметру предшествует ключевое слово class.
Эти формальные параметры используются подобно встроенным типам или типам, определенными пользователем, для задания типов параметров функции, задания типа возвращаемого значения и объявления переменных внутри функций. Далее следует определение шаблона, которое не отличается от определения функции.
template <class T>
void printArray(T* array, const int n)
{
for(int i=0;i<n;i++) cout << array[i] << ' '; cout << endl;
}
int main(int argc, char* argv[])
{
const int iCount = 5, fCount = 7; int iArr[iCount] = {1,2,3,4,5};
float fArr[fCount] = {1.1,2.2,3.3,4.4,5.5,6.6,7.7};
cout << "Целочисленный массив: "; printArray(iArr,iCount);
cout << "Вещественный массив: "; printArray(fArr,fCount);
return 0;
}