Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet62/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   58   59   60   61   62   63   64   65   ...   193
Bog'liq
Book-qtC


Глава 4. Использование функций при программировании на C++
Обычно в угловых скобках указывают список используемых в функции типов
данных. Каждый тип предваряется служебным словом class. В общем случае в
списке могут быть не только типы данных, но и имена переменных.
Рассмотрим пример шаблона поиска наименьшего из четырёх чисел.
#include 
using namespace s t d ;
//Определяем абстрактный тип данных с помощью служебного слова Type .
template 
Type minimum ( Type a , Type b , Type c , Type d )
{ //Определяем функцию с использованием типа данных Type .
Type min=a ;
i f ( bi f ( ci f ( dreturn min ;
}
i n t main ( )
{
i n t i a , ib , i c , id , mini ; f l o a t ra , rb , rc , rd , minr ;
cout<<" V v o d 4 t h e l i h c h i s l a \ t " ;
c i n >>i a >>ib >>i c >>i d ;
mini=minimum ( i a , ib , i c , i d ) ; //Вызов функции minimum , в которую передаём
//4 целых значения.
cout<<" \ n "<cout<<" V v o d 4 v e c s h e s t v e n i h c h i s l a \ t " ; c i n >>ra>>rb>>rc >>rd ;
minr=minimum ( ra , rb , rc , rd ) ; //Вызов функции minimum , в которую передаём
//4 вещественных значения.
cout<<" \ n "<return 0 ;
}
4.8
Область видимости переменных в функциях
Как известно (п. 2.8), по месту объявления переменные в языке C++ делятся
на три класса: локальные, глобальные и переменные, описанные в списке фор-
мальных параметров функций. Все эти переменные имеют разную область ви-
димости.
Локальные переменные
объявляются внутри функции и доступны только в
ней. О таких переменных говорят, что они имеют локальную видимость, то есть,
видимы только внутри функции.
Глобальные переменные
описывают вне всех функций. Поскольку они доступ-
ны из любой точки программы, то их область видимости охватывает весь файл.
Одно и тоже имя может использоваться при определении глобальной и ло-
кальной переменной. В этом случае в теле функции локальная переменная имеет
преимущество и «закрывает» собой глобальную. Вне этой функции «работает»
глобальное описание переменной.
Из функции, где действует локальное описание переменной, можно обратить-
ся к глобальной переменной с таким же именем, используя оператор расширения
области видимости
::переменная;
Рассмотрим пример:
#include 
Программирование на языке С++ в среде Qt Creator


4.9. Функция main(). Параметры командной строки
127
using namespace s t d ;
f l o a t pr = 1 0 0 . 6 7 8 ; //Переменная pr определена глобально.
i n t p r o s t o e ( i n t n )
{
i n t pr =1 , i ; //Переменная pr определена локально.
i f ( n<0) pr =0;
e l s e
f o r ( i =2; i <=n / 2 ; i ++)
i f ( n%i ==0){ pr =0; break ; }
cout<<" l o c a l pr = "<
//Вывод локальной переменной.
cout<<" g l o b a l pr = " <<:: pr<<" \ n " ;
//Вывод глобальной переменной.
return pr ;
}
i n t main ( )
{
i n t g ;
cout<<" g = " ; c i n >>g ;
i f ( p r o s t o e ( g ) ) cout<<" g - p r o s t o e \ n " ;
e l s e cout<<" g - ne p r o s t o e \ n " ;
return 0 ;
}
Результаты работы программы:
g=7
local pr=1
//Локальная переменная.
global pr=100.678
//Глобальная переменная.
g - prostoe
4.9
Функция main(). Параметры командной строки
Итак, любая программа на C++ состоит из одной или нескольких функций,
причём одна из них должна обязательно носить имя main (основной, главный).
Именно этой функции передаётся управление после запуска программы. Как
любая функция, main может принимать параметры и возвращать значения. У
функции main две формы записи:
• без параметров:
тип
main ( ) {тело функции } ,
• и с двумя параметрами:
тип
main ( i n t argc , char ∗ argv [ ] ) {тело функции } .
Первый параметр argc определяет количество параметров, передаваемых в
функцию main из командной строки. Второй параметр argv — указатель на мас-
сив указателей типа char (массив строк). Каждый элемент массива ссылается
на отдельный параметр командной строки. При стандартном запуске программы
argc
равно 1, argv — массив из одного элемента, этим элементом является имя
запускаемого файла.
Рассмотрим следующую программу.
#include 
#include < s t d l i b . h>
using namespace s t d ;
i n t main ( i n t argc , char ∗ a r g v [ ] )
{
i n t i ;
cout<<"В командной строке "<© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


128
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish