Студопедия

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

КАТЕГОРИИ:

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






Листинг 5.7. Использование значений, заданных по умолчанию для параметров функций






1: // Листинг 5.7. Использование стандартных

2: // значений параметров

3:

4: #include < iostream.h>

5:

6: int VolumeCube(int length, int width = 25, int height = 1);

7:

8: int main()

9: {

10: int length = 100;

11: int width = 50;

12: int height = 2;

13: int volume;

14:

15: volume = VolumeCube(length, width, height);

16: cout < < " First volume equals: " < < volume < < " \n";

17:

18: volume = VolumeCube(length, width);

19: cout < < " Second time volume equals: " < < volume < < " \n";

20:

21: volume = VolumeCube(length);

22: cout < < " Third time volume equals: " < < volume < < " \n";

23: return 0;

24: }

25:

26: VolumeCube(int length, int width, int height)

27: {

28:

29: return (length * width * height);

30: }

 

Результат:

First volume equals: 10000

Second time volume equals: 5000

Third time volume equals: 2500

 

Анализ: В прототипе функции VolumeCube() B строке 6 объявляется, что функция принимает три параметра, причем последние два имеют значения, устанавливаемые по умолчанию.

Эта функция вычисляет объем параллелепипеда на основании переданных размеров. Если значение ширины не передано, то ширина устанавливается равной 25, а высота — 1. Если значение ширины передано, а значение высоты нет, то по умолчанию устанавливается только значение высоты. Но нельзя передать в функцию значение высоты без передачи значения ширины.

В строках 10—12 инициализируются переменные, предназначенные для хранения размеров параллелепипеда по длине, ширине и высоте. Эти значения передаются функции VolumeCube() в строке 15. После вычисления объема параллелепипеда результат выводится в строке 16.

В строке 18 функция VolumeCube() вызывается снова, но без передачи значения для высоты. В этом случае для вычисления объема параллелепипеда используется значение высоты, заданное по умолчанию, и полученный результат выводится в строке 19.

При третьем вызове функции VolumeCube() (строка 21) не передается ни значение ширины, ни значение высоты. Поэтому вместо них используются значения, заданные по умолчанию, и полученный результат выводится в строке 22.

 

Рекомендуется: Помните, что параметры функции действуют внутри нее, подобно локальным переменным.

 

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

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал