Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Основы использования функций.




 

Функции – этьо подпрограммы, которые содержат одну или несколько инструкций. Функции называются строительными блоками С++, поскольку программа в С++, как правило, представляет собой коллекцию функций.

 

Общий формат С++ функций

Все С++ функции имеют общий формат

Тип_возвращаемого значения имя (список _параметров)

{

// тело функции

}

 

С помощью элемента тип_возвращаемого_значения указывается тип значения возвращаемого функцией. Это может быть любой тип, за исключением массива. Если функция не возвращает никакого значения, необходимо указать тип void.

В качестве имени можно использовать любой допустимый идентификатор, который еще не был задействован в программе.

После имени функции в круглых скобках указывается список параметров, который представляет собой список пар (состоящих из типа данных и имени), разделенных запятыми.

Параметры – это по сути переменные, которые получают значения аргументов, передаваемых функции при вызове.

Если функции не имеют параметров, то круглые скобки остаются пустыми.

В фигурные скобки заключено тело функции. Тело функции составляют С++-инструкции, которые определяют действие функции. Функция завершается (и управление передается вызывающей процедуре) при достижении закрывающейся скобки или инструкции return

 

 

Создание функции.

 

#include<iostream>

using namespace std;

 

void myfunc();// прототип функции myfunc()

 

void main()

{

cout<<”В функции main().”<<endl;

myfunc();

cout<<”Снова в функции main().”<<endl;

}

 

// Определение функции myfunc()

void myfunc()

{

cout<<”В функции myfunc().”<<endl;

}

 

 

Использользование аргументов

Функции можно передать одно или несколько значений. Значение передаваемое функции называется аргументом. Таким образом, аргументы представляют собой средсьво передачи инициализации в функцию.

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

#include<iostream>

using namespace std;

 

void box(int length, int width, int height);// прототип функции

 

void main()

{

box(7,20,4);

box(50,3,2);

box(8,6,9);

}

 

// Определение функции box()

void box(int length, int width, int height)

{

cout<<” Объем параллелепипеда равен ”<< lengtht* width* height <<endl;

}

 

Использользование инструкции return

В предыдущих примерах возврат из функции к инициатору ее вызова происходил при обнаружении фигурной скобки. Однако это приемлимо не для всех функций.

Возврат значений.

Использование функции в выражениях

Правила действия областей видимости функций.

Локальная область видимости

Локальные переменные можно объявлять внутри любого блока.

Сокрытие имен

Параметры функции

Глобальная область видимости

Передача указателей и массивов в качестве аргументов функций

Передача функции указателя

Передача функции массива

Передача функциям строк

Возвращение функциями указателей

 

Оформление функции в С++

Тип имя функции (список формальных параметров);

Типы функции

int

double

char

void (не возвращает значений)

Функция - именованный набор операторов.

Если р1 и р2 функции, и р1 вызывает р2, то р2 должна быть описана раньше р1.

Если тело функции идет после main(), то перед main() должен стоять прототип функции.

 

Пример 1

Функция плюс

 

# include <iostream.h>

void plus (int,int,int); // прототип функции plus, параметры переданы по значению

void plus1 (int,int,int&); // прототип функции plus1, последний параметр передан по ссылке

int plus2(int, int) //результат функции число типа int

Void main()

{

int a=4; int b=5; int c=10;

cout<<”plus()”<<endl;

plus(a,b,c);

cout<<”c=”<<c<<endl; //9

plus1(a,b,c);

cout<<”c=”<<c<<endl; //10

int c2=plus2(a,b);

cout<<”c2=”<<c2<<endl; //9

// Возможен вариант

cout<<”plus2()=”<<plus2(a,b)<<endl; //9

}





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


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 471 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

2268 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.