|
Программирование >> Дополнительные возможности наследования
8: cout \ nb: 9: cin b; cout X no: cin >> c; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 if (c = (a-b)) { cout << a: ; cout << a; cout minus b: ; cout b; cout equals c: ; cout << с << endl; } else cout << a-b does not equal c: << endl; return 0; 3. Введите программу из упражнения 2; скомпилируйте, скомпонуйте и запустите ее на выполнение. Введите числа 20, 10 и 50. Вы получили результат, который и ожидали? Почему нет? 4. Проанализируйте эту программу и спрогнозируйте результат; #include <iostream.h> int main() int a = 1, b = 1, c; if (c = (a-b)) cout << The value of с is: << c; return 0; 5. Введите, скомпилируйте, скомпонуйте и запустите на выполнение программу из упражнения 4. Каков был результат? Почему? Несмотря на то что при объектно-ориентированном программировании внимание акцентируется не на функциях, а на объектах, функции тем не менее остаются центральным компонентом любой программы. Итак, сегодня вы узнаете: Что такое функция и из чего она состоит Как объявлять и определять функции Как передавать параметры функциям Как возвращать значение функции Что таков функция Функция по своей сути - это подпрограмма, которая может манипулировать данными и возвращать некоторое значение. Каждая программа С++ имеет по крайней мере одну функцию mainO, которая при запуске программы вызывается автоматически. Функция main() может вызывать другие функции, те, в свою очередь, могут вызывать следующие и т.д. Каждая функция обладает собственным именем, и, когда оно встречается в программе, управление переходит к телу данной функции. Этот процесс называется вызовом функции (или обращением к функции). По возвращении из функции выполнение программы возобновляется со строки, следующей после вызова функции. Такая схема выполнения профаммы показана на рис. 5.1. Хорошо разработанные функции должны выполнять конкретную и вполне понятую задачу. Сложные задачи следует разбивать на несколько более простых, достаточно легко реализуемых с помощью отдельных функций, которые затем могут вызываться по очереди. Различают два вида функций: определяемые пользователем (нестандартные) и встроенные. Встроенные функции являются составной частью пакета компилятора и предоставляются фирмой-изготовителем. Нестандартные функции создаются самим программистом. �919 Program Main 0 ( оператор; fund 0; оператор func2 0; оператор; func4 0; ) оператор; fund return func3 func2 оператор 1unc3(); return; func4 return; Puc. 5.1. Когда программа вызывает функцию, управление переходит к телу функции, а затем выполнение програлшы возобновляется со строки, следуюш,ей после вызова Возвращаемые знаненоя, параметры и аргументы Функции могут возвращать значения. После обращения к функции она может выполнить некоторые действия, а затем в качестве результата своей работы послать назад некоторое значение. Оно называется возвращаемым значением, причем тип этого значения обязательно должен быть объявлен. Таким образом, запись int myFunctionO; объявляет, что функция myFunction возвращает целочисленное значение. В функцию можно также и посылать некоторые значения. Описание посылаемых значений называется списком параметров. int myFunction(int someValue, float someFloat); Это объявление означает, что функция myFunction не только возвращает целое число, но и принимает два значения в качестве параметров: целочисленное и вещественное. Параметр описывает тип значения, которое будет передано функции при ее вызове. Фактические значения, передаваемые в функцию, называются аргументами. int theValueReturned = myFunction(5,6.7); Здесь целая переменная theValueReturned инициализируется значением, возвращаемым функцией myFunction, и что в качестве аргументов этой функции передаются значения 5 и 6,7. Тип аргументов должен соответствовать объявленным типам параметров. Использование функций в программе требует, чтобы функция сначала была объявлена, а затем определена. Посредством объявления функции компилятору сообщается ее имя, тип возвращаемого значения и параметры. Благодаря определению функ- �18041
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |