Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Чтобы лучше понять выигрыш от перегрузки функций, рассмотрим три функции из





стандартной библиотеки: abs(), labs() и fabs(). Они были впервые определены в языке С, а затем

ради совместимости включены в C++. Функция abs() возвращает абсолютное значение (модуль)

Целого числа, функция labs() возвращает модуль длинного целочисленного значения (типа long),

A fabs() — модуль значения с плавающей точкой (типа double). Поскольку язык С не

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

На то, что все три функции выполняют, по сути, одно и то же действие. Это делает ситуацию

Сложнее, чем она есть на самом деле. Другими словами, при одних и тех же действиях

Программисту необходимо помнить имена всех трех (в данном случае) функций вместо одного.

Задание аргументов, передаваемых функции по умолчанию, синтаксически аналогично

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

Myfunc(), принимающая один аргумент типа double с действующим по умолчанию значением 0.0

и один символьный аргумент с действующим по умолчанию значением 'Х'.

void myfunc(double num = 0.0, char ch = 'Х')

{

.

.

.

}

После такого объявления функцию myfunc() можно вызвать одним из трех следующих

Способов.

myfunc(198.234, 'A'); // Передаем явно заданные значения.

myfunc(10.1); // Передаем для параметра num значение 10.1, а для параметра ch

позволяем применить аргумент, задаваемый по умолчанию ('Х').

myfunc(); // Для обоих параметров num и ch позволяем применить аргументы,

Задаваемые по умолчанию.

Аргумент, передаваемый функции по умолчанию, представляет собой значение, которое будет автоматически передано параметру функции в случае, если аргумент, соответствующий этому параметру, явным образом не задан. #include <iostream>

Using namespace std;

void clrscr(int size=25);

Int main()

{

Int i;

for(i=0; i<30; i++) cout << i << '\n';

clrscr(); // Очищаем 25 строк.

for(i=0; i<30; i++) cout << i << '\n';

clrscr(10); // Очищаем 10 строк.

Return 0;

}

Date: 2016-07-25; view: 241; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию