You are on page 1of 21

‫اوال )‪++C (Functions‬‬

‫اوال )‪ (Functions‬وآ    ‪++C‬‬

‫واـ ‪ Function :‬ه دا*  ﺕ‪'/‬م ‪ -#$‬أو ‪#$% *%'$+‬ت ‪'( ،‬ء ‪#$%‬ت‬
‫إد@ل أو إ@‪5‬اج أو ‪#$%‬ت >=‪ *#‬أو <;‪ ، *#/‬وﺕ‪ :‬اا* '‪ 7 ً9‬ا‪3456‬‬
‫أي إ‪ 4‬ﺝ‪F‬ء <‪ ، -‬أو ‪ 7E$‬ا‪'D‬ل أن ‪'E C++ 345‬ن ‪7 *%'$+ 7‬‬
‫اوال‬
‫أي  و‪ *<# *D#K‬أو ‪%‬د و‪ HIJ‬و ﺕ< ‪ function‬وﺕ‪'$‬ت ‪<%‬ا ‪*4‬‬
‫‪$%‬‬
‫وال ‪ main‬ﺕ‪ P%‬أ‪functionًO‬‬

‫و‪' 7‬ا‪I‬ه‪: -‬‬

‫‪1-‬ﺕ=‪  %‬ا@‪U‬ر آ‪ -‬آ'د ‪ 3456‬إذا ‪( DE‬دﺕ (‪'/ V/ $‬م‬
‫‪ $‬ا‪';$‬ب‪.‬‬

‫‪2-‬ﺕ‪ *#$% Z‬ا‪5E‬ار  @;'ات ا‪ 3456‬ا ﺕ;] ‪ ًZ'\ ًZ$%‬و[‪.ً9‬‬

‫‪3-‬ﺕ=‪ %‬اوال  ‪ *#$%‬ا‪.=D4 *+56‬‬

‫‪4-‬ﺕ'‪ 7 *>= 5‬ا‪a‬اآ‪5‬ة ا‪.3456 *';$‬‬

‫‪5-‬ا@‪U‬ر ‪ *#$%‬ز‪ 7‬ا‪ *+56‬وﺕ<‪ a#D‬ا‪5(e 3456‬ع و‪.7E$ c9‬‬

‫‪6-‬ﺕ= آ‪5#h‬اً  ‪5‬اﺝ* وﺕ‪ j#:U‬ا‪'E‬د وا ‪ ، -#‬إي ‪ i‬ﺕ‪ i#=/‬ا‪3456‬‬
‫إ‪% P‬د ‪ E function‬دا‪ 54 < 7# $%  -‬أن ‪4‬ل  ﺝ‪F‬ء ‪ 7#‬‬
‫ا‪'E‬د ‪a4‬ه] إ اـ ‪ function‬ا ﺕ‪':‬ي ا‪'E‬د ا‪a‬ي ‪ */>Z 7 َl m54‬ا‪'E‬د‬
‫‪ 7‬ا‪o‬ول ‪ U4 P> 5@n‬إ‪ P‬ا‪E$‬ن ا‪';$‬ب ‪a‬ا ‪ a@e‬و‪ c9‬وﺝ آ‪pE 5#6‬‬
‫اوال‪.‬‬

‫وا‪ P% #‬أه‪ -#$‬اوال  ا‪ a@e4 *+56‬ا‪h$‬ل ا‪:‬‬

‫' أرد‪ 4‬آ* @;'ات ﺹ<‪ s‬آ‪e‬س ‪ 7‬ا‪q‬ي ‪e  ]E4 <4e‬ﺕ‪:-‬‬

‫‪ sK1-‬ا‪$‬ء  ‪ *Zu‬ا‪q‬ي‬
‫‪ 7v(2-‬ا‪$‬ء >‪Pw P‬‬
‫‪3-‬أ‪ [ HK‬إ‪ P‬ا‪$‬ء‬
‫‪4-‬أ‪ 5E( HK‬إ‪-#‬‬
‫‪5-‬أ\‪ xD‬ا<ر‬
‫‪6-‬ﺹ] [  ا‪eE‬س‪.‬‬

‫ا‪5‬ض أ‪l‬ن أ‪ P/  $4 <4‬و‪'4‬د \] آ‪e‬س ‪ 7‬ا‪q‬ي  آ ‪ ، m5‬ل ‪7‬‬
‫آ‪ -‬ال‪';@ 6‬ات  آ ‪m5‬‬
‫‪'/4‬م ‪ -E‬ال‪';@ 6‬ات  ‪  Function‬أن ا‪';v‬ات ا ‪:4‬ج آ‪7 ً (e‬‬
‫ا‪q‬ي ‪'/4‬م ‪ m';@ -E‬وا>‪ V/ m‬وه‪:‬‬
‫‪1-‬ا(‪%‬ء آ‪e‬س ‪ 7‬ا‪q‬ي‪.‬‬
‫ﺕ‪ #v‬ا‪z‬ن آ‪ i‬و‪ 7 45‬ا‪';v‬ات وا'‪  c9‬آ* ا‪'E‬د و@ﺹ* إذا آن ا‪3456‬‬
‫‪ Z‬وا‪. ً :K‬‬
‫;] >=ت و‪#$%‬ت آ‪5#h‬ة وآ‪'E i‬ن ا‪ً ( 3456‬‬

‫‪Function‬ﺕ‪ a@e‬ا‪ Eq‬ا‪:‬‬


‫آ'د‪:‬‬
‫‪Type-specified function-name (formal‬‬
‫)‪parameters‬‬
{
function body
}

Function :-‫'اع‬4‫أ‬

: Pass by value‫'ن‬E‫ وﺕ‬, a@e‫ *ﺕ‬in


: Pass by reference‫'ن‬E‫ وﺕ‬, s‫ﺝ‬5‫ وﺕ‬a@e‫ *ﺕ‬in & out
: Output parameters‫'ن‬E‫ وﺕ‬, s‫ﺝ‬5‫ *ﺕ‬out

:-*#‫ل ا‬E[o‫'ن أ> ا‬E‫وﺕ‬

s‫ﺝ‬5‫ وﺕ‬a@e‫ﺕ‬1-
s‫ﺝ‬5‫ وﺕ‬a@e‫ ﺕ‬l2-
s‫ﺝ‬5‫ ﺕ‬l‫ و‬a@e‫ﺕ‬3-
s‫ﺝ‬5‫ ﺕ‬l‫ و‬a@e‫ ﺕ‬l4-

‫ ا<'ع‬pD< a@e‫ >=]  ﺕ‬P%‫ و‬i(l function ‫ء‬%(‫ل أو ا‬U‫ﺕ‬l‫ ا‬i‫و‬


.‫واد‬

:-7#$=9 ‫ إ‬Functions ‫ اـ‬i=/<‫ﺕ‬

‫ءه‬%(‫ ا‬i‫ و‬++C 345 @‫ دا‬built in ‫'ن‬E‫ة وﺕ‬F‫ﺝه‬Functions -1


:Š‫ ذا‬P% ‫ل‬h # ‫ص‬v‫ ا‬Header File ‫ء‬%(‫ ;] ا‬7E‫ة و‬5[6

:‫آ'د‬
cos(5); // 5  cos ! ‫ا‬# ‫ ا‬$%‫ه‬
!'‫* ا )او‬+, ‫ف‬./
log(5); // 5  log *+‫ر‬
pow(4,2); // *+, ‫ف‬./ 67'‫ا ! أ‬# ‫ ا‬$%‫وه‬
2 ‫ أس‬4  ‫ ا‬9: ;,6< ‫ا‬
sqrt(4); //  ‫)ر‬+ *+, ‫ف‬./ $%‫وه‬
4

Š< ]; *K5 *‫ﺹ‬v‫ ا‬ma‫ اوال ه‬7E‫ة و‬F‫ه‬+‫ اوال ا‬7 ‫ه‬5#u‫و‬
'‫ وه‬-# ‫ص‬v‫ ا‬Header File ‫ء‬%(‫ا‬
:‫آ'د‬
#include<math.h>

3456‫ا  ا‬v(l 356$‫ ا‬69 7 ‫ءه‬q4‫ إ‬i ‫وا‬2- Functions


:Š‫ ذا‬P% ‫ل‬h (‫ء‬F+‫ا ا‬a‫ ه‬P% F#‫آ‬5‫ ا‬i ‫)('ف‬

:‫آ'د‬
#include<iostream.h>
int cube(int x)
{
return x*x*x;
}
void main()
{
cube(2);
}

int ‫'ع‬4 7 ‫] وه‬u5‫ >=]  ﺕ‬P%‫ و‬cube #$=‫ ﺕ‬i‫ ﺕ‬9‫ء دا* و‬q4‫ إ‬i‫ﺕ‬
‫(('ف ‪5[ i‬ح ذاŠ ‪) ً />l‬‬
‫وه ﺕ‪ 5#w a@e‬وا> ‪'4 7‬ع ‪ int‬ودا@ ﺕ‪5‬ﺝ‪ s‬ا‪ *$#/‬ا<ﺕ‪5O 7 *+‬وب‬
‫ا‪5 3 -=D4  x 5#w$‬ات إي ‪ ]E‬اد‪.‬‬

‫و ﺝ‪F‬ء ‪ main‬ﺕ‪ i‬ا‪l‬ﺕ‪U‬ل  اا* ‪ V/ i(l cube‬وﺕ‪ i‬إر(ل ا‪2 *$#/‬‬
‫‪ 4o‬ﺕ‪ 7 5#w a@e‬ا<'ع ‪a int‬ا ‪ ]+‬إر(ل ا‪ pD4 7 *$#/‬ا<'ع و<‪ pD‬اد‬
‫إي ' آ‪ c4‬ﺕ‪ a@e‬أآ‪ i *$#9 7 5h‬إر( و('ف أ‪h ;%‬ل ‪ P%‬ذاŠ‪.‬‬
‫ ا‪o‬ﺕ‪U‬ل  اا* وإر(ل ا‪  *$#/‬ﺕ‪'/‬م اا* '‪ sK‬ا‪ *$#/‬ا‪ *6/=$‬‬
‫‪ 7# 4E‬ا‪'9o‬اس إي  ا‪ x 5#w$‬و ذاŠ ﺕ‪'/‬م ‪5O‬ب ا‪ *$#/‬وإرﺝ‪%‬‬
‫‪E$‬ن ا‪a‬ي ‪9‬م ‪l‬ﺕ‪U‬ل  اا* إي ال ‪main‬و‪  :‬ا=;‪cube(2); 5‬‬
‫وا‪a‬ي ﺕ‪ i‬إرﺝع ا‪ *$#/‬ه' آ‪ return *$‬وه‪ ma‬ا‪ *$E‬ﺕ‪'/‬م ا‪5v‬وج ‪ 7‬اا* آ‪ً #‬‬
‫وا‪5‬ﺝ'ع إ ا‪E$‬ن ا‪a‬ي ﺕ‪ i‬ا(‪%‬ه إي ' و‪  cK‬آ‪ return *$‬إي آ'د‬
‫‪ i 7‬ﺕ<‪ ma#D‬و‪-#% 5$ 7‬‬
‫و‪<%‬ا ا‪4‬ء ‪ $%‬اا* وا‪5v‬وج < ﺕ< وﺕ‪'$‬ت وﺕ‪' O‬ﺝ'دة <‪ m5‬إي‬
‫اﺕ‪U‬ل ﺙ‪ P> 4‬ﺕ‪.$‬‬

‫' أ@‪a‬ت ا‪'E‬د و‪'( run - c$%‬ف ﺕ‪ i i ‘>Z‬إ@‪5‬اج ا‪ P% *$#/‬ا‪*[q‬‬
‫‪$‬ذا ؟؟؟‬

‫ا‪ *$#/‬ﺕ‪ i‬إرﺝ‪ %‬و‪ i i 7E‬إ=آ  ‪ 5#w‬و>‪ D‬أو إ@‪5‬اﺝ ‪P%‬‬
‫ا‪5[6 *[q‬ة ‪a‬ا ا‪c%K *$#/‬‬

‫‪ ‘D> i E‬ا‪ Š< ]; *$#/‬ﺕ‪ pD4 7 5#w H5‬ا<'ع ا‪a‬ي ('ف ‪5‬ﺝ‪7 s‬‬
‫اا* ‪h‬‬
‫آ'د‪:‬‬
‫;)‪int c = cube(2‬‬

‫وه ﺕ;‪ s6‬ا‪ 5# c 5#w$‬ا‪ *$#/‬ا‪z‬ﺕ ‪ 7‬اا* أو “‪ *%6\ Š4E‬ا‪*$#/‬‬
‫‪ m5[6‬دون ﺕ‪:h 5#w H5‬‬
‫آ'د‪:‬‬
‫;)‪cout<< cube(2‬‬
:5#w 7 5h‫ أآ‬a@e‫ دا* ﺕ‬P% ‫ل‬h
:‫آ'د‬
#include<iostream.h>
float max(int x , float y)
{
if(x > y)
return x;
return y;
}
void main()
{
cout<<max(5,5.4);
}

4h‫ وا‬int ‫ إي‬j#:‫د ﺹ‬% ‫'ع‬4 7 i‫ ا>ه‬75#w a@e‫ل اا* ﺕ‬h$‫ا ا‬a‫>‘ ه‬l
 6‫ﺕ‬5‫ ﺕ‬pD< 7#$/‫'ن ا‬E‫ ا<'ع وﺕ‬pD<‫ و‬7#$9 ‫ إر(ل‬i‫ا ﺕ‬a float ‫ إي‬5=‫آ‬
5=‫ آ‬4h‫ وا‬j#:‫ ﺹ‬i9‫ ر‬-K‫ و‬i‫ول ﺕ‬o‫ا ا‬a float 4h‫ وا‬int ‫ول‬o‫اا* إي ا‬
.]#‫ﺕ‬5 *‫  اا‬K‫* وو‬$#9 ‫ آ‬a@e ‫وه' ('ف‬

‫ إذا‬y *$#9 7 56‫ اآ‬x *$#9 ‫ إذا‬7#$9 7# ‫ة‬5#6E‫* ا‬$#/‫'م “رﺝع ا‬/‫ اا* ﺕ‬ma‫ه‬
$‫ وآ‬ma‫;'ة ه‬v‫ي ا‬% ‫ إذا‬o ‫ وإذا آن‬x *$#/ *‫ اا‬7 ‫ج‬5@‫إي ا‬return x
sK‫ و‬i i ‫ذا‬$ return y '‫'د وه‬E‫ا‬
7 56‫ اآ‬x ‫'ن‬E‫ ﺕ‬i ‫ إن‬/‫ ا‬7 7E‫ أًا و‬5O l K‫وإن و‬y else return
56‫آ‬o‫ ه ا‬y #‫آ‬ey
‫ وإن‬69 ‫;'ة ا‬v‫ط  ا‬5q‫ ا‬/:‫ ﺕ‬i ‫ إذا‬l‫ة إ‬5#@o‫;'ة ا‬v‫ @ إ ا‬7‫و‬
i ‫ا‬a return *$‫ آ‬7 -# $ ‫ة‬5#@o‫;'ة ا‬v‫ ا‬P‫ @ إ‬7 ‫ط‬5q‫ ا‬/:‫ﺕ‬
else .‫ ون‬return y *$‫ آ‬sK‫ و‬7 ‫ء‬D‫آ‬l‫ا‬

 ‫=] اد‬: Š‫ ذا‬i *‫ي دا‬e ‫ل‬U‫ﺕ‬l‫<ا ا‬% ]+ -4‫< إ‬$% 9 ‫'ن‬E4 ‫ا‬aE‫وه‬
.]#‫ﺕ‬5 ‫'ن‬E‫ ا<'ع و‬pD<‫ و‬ma@e‫ﺕ‬
‫وه‪a‬ا ا‪ 7#h$‬ه' ‪ 7‬ا<'ع ا‪o‬ول ‪ 7‬أ[‪E‬ل اـ ‪ Function‬إي أ‪ ( 4‬ﺕ‪ a@e‬وﺕ‪5‬ﺝ‪s‬‬
‫)إي أ@‪a‬ت ‪ *$#9‬أو أآ‪ 5h‬وﺕ‪5‬ﺝ‪ s‬وه' ‪ 4e return‬ﺕ‪'/‬م ‪5‬ﺝ‪ *$#9 s#‬إ ا‪E$‬ن‬
‫ا‪a‬ي اﺕ‪ U‬‬

‫وا‪z‬ن ('ف ‪ a@e4‬ا‪E[o‬ل ا‪ *#‬و‪ E‬وا> ‪h‬ل‬

‫و‪ 69 7E‬ا@'ل  ا‪E[o‬ل ا‪'( *#4h‬ف ا[‪5‬ح ا‪F+‬ء ‪ 7‬ا‪a‬ي ‪ i‬ا[‪7 ->5‬‬
‫اا* وه' ‪ i‬ﺝًا ‪<%‬ا ﺕ‪ H5‬اوال‪.‬‬

‫أآ‪  c>l #‬ا‪h$‬ل ا‪o‬ول ﺕ‪ i‬ﺕ‪ H5‬اا* ‪'4 7 cube‬ع ‪ int‬واا* ‪7 max‬‬
‫‪'4‬ع ‪ float‬و‪ 7E‬ه ﺕ‪5‬ف ‪$‬ذا وذا ﺕ<‪ ....‬؟؟؟؟‬

‫إذا آ‪ c4‬اا* ﺕ‪5‬ﺝ‪ *$#9 s‬إي ‪ i ]+# return‬ﺕ‪ pD4 7 #5‬ا<'ع ا‪a‬ي‬
‫('ف ‪ i‬إرﺝ‪  -%‬ا‪h$‬ل ا‪o‬ول آ‪ c4‬ا‪ *$#/‬ا ('ق ‪ i‬إرﺝ‪ %‬ه ‪]E‬‬
‫ا‪ 2 i95‬وا<ﺕ‪'( 3‬ف ‪'E‬ن ‪ 8‬وه' ‪%‬د ﺹ‪a j#:‬ا ﺕ‪ i‬ﺕ‪'4 7 #5‬ع‪int .‬‬
‫و اا* ا‪'( *#4h‬ف ‪'E‬ن ا‪5‬اﺝ‪ s‬إ ‪%‬د ﺹ‪ j#:‬أو آ=‪ ]=> P% 5‬ا‪o‬آ‪a 56‬ا ﺕ‪i‬‬
‫و‪ $: float -4o float K‬ا‪ i95‬ا‪ j#:U‬وا‪ $: int $<# 5=E‬ر‪ i9‬ﺹ‪j#:‬‬
‫‪.V/‬‬

‫‪a‬ا ‪ ]+‬ﺕ‪5‬ف اا* ‪ pD4 7‬ا<'ع ا‪a‬ي ('ف ﺕ‪ i‬إرﺝ‪ -%‬وه‪a‬ا إذا آ‪ c4‬ﺕ‪5‬ﺝ‪s‬‬
‫— ا<‪ 5‬إذا آ‪ c4‬ﺕ‪ a@e‬أم ‪ ، l‬إ إذا آ‪ l c4‬ﺕ‪5‬ﺝ‪ i# ً #[ s‬و‪ sK‬آ‪void *$‬‬
‫و('ف ‪5[ i‬ح ه‪a‬ا ا<'ع‪.‬‬
)s‫ﺝ‬5‫ وﺕ‬a@e‫ ﺕ‬l ( '‫ وه‬4h‫ ا‬Eq‫@ إ ا‬4 ‫ن‬z‫ا‬

:- ‫ل ا‬h$‫>‘ ا‬l

:‫آ'د‬
#include<iostream.h>
int sum()
{
int x = 5 , y = 4;
return x + y;
}
void main()
{
int z = sum();
cout<<z;
}

*$#9 ‫'م “رﺝع‬/‫ ﺕ‬7E‫* و‬u‫'اس ر‬9o‫ا ا‬a ‫ [ء‬a@e‫ ﺕ‬l *‫ل اا‬h$‫ا ا‬a‫ ه‬
i‫ل  اا* ﺕ‬U‫ﺕ‬l‫<ا ا‬% ‘>l‫ و‬، *‫ ا‬int ‫'ع‬4 7 D5‫ ﺕ‬i‫ا ﺕ‬a *:#:‫ﺹ‬
i *$#9 ‫'م “رﺝع‬/‫ ﺕ‬4‫ إ‬$ 7E‫* و‬$#9 ‫ إر(ل إي‬i i‫ و‬i(l I%(‫ا‬
pD< 5#w ‫ف‬5‫ ﺕ‬i‫ا ﺕ‬a *‫ اا‬7 *‫اﺝ‬5‫* ا‬$#/‫‘ ا‬D: ‫'م‬/4 E 5#w H5‫ﺕ‬
*ho‫ ا‬$‫ آ‬D: ]u5‫ ﺕ‬l c<‫ة إذا آ‬5[6 *$#/‫* ا‬%6\ Š4E“ ‫ا<'ع أو‬
.*/=‫ا‬
:‫آ'د‬
cout<<sum();
)s‫ﺝ‬5‫ ﺕ‬l‫ و‬a@e‫˜ وه'( ﺕ‬h‫ ا‬Eq‫ و إ ا‬5@z‫ ا‬i=/‫ﺕ ا‬e4 ‫ن‬z‫ا‬

:-Š‫ ذا‬% ‫ل‬h


:‫آ'د‬
#include<iostream.h>
void cube(int x)
{
cout<<x*x*x;
}
void main()
{
cube(2);
}

%‫ إرﺝ‬i *$#9 ‫ 'ﺝ‬l ma‫ اا* ه‬7E‫ول و‬o‫ل ا‬h$‫ ا‬pD4 '‫ل وه‬h$‫ا ا‬a‫>‘ ه‬l
‫* إ‬$#/‫ج ا‬5v‫ ('ف ﺕ‬7E‫ و‬void ‫'ع‬4 7 *‫ اا‬H5‫ ﺕ‬i‫ا ﺕ‬a‫و‬return
i‫ا ﺕ‬a‫ و‬# ‫ل‬U‫م ﺕ‬9 ‫ي‬a‫ن ا‬E$ ‫ إرﺝع إي [ء‬i 7‫ة و‬5[6 *[q‫ا‬
i i‫ ا<'ع و‬pD<‫* و‬$#/‫ إر(ل ا‬i *$#9 a@e‫ ﺕ‬4‫ إ‬$‫ و‬V/ i(l ‫ه‬%(‫ا‬
sK‫و‬
:‫آ'د‬
cout<<cube(2);
// OR
int z = cube(2);

)s‫ﺝ‬5‫ ﺕ‬l‫ و‬a@e‫ ﺕ‬l ('‫ وه‬5#@o‫ ا‬Eq‫ن ا‬z‫وا‬


:‫آ'د‬
#include<iostream.h>
void sum()
{
int x = 5 , y = 4;
int z = x + y;
cout<<z;
}
void main()
{
sum();
}

‫* إي‬u‫'اس ر‬9o‫ ا‬c9'‫ ا‬pD<‫ [ء و‬s‫ﺝ‬5‫ ﺕ‬l ‫ إي‬void ‫'ع‬4 7 *‫>‘ ه< اا‬l
.O‫ أ‬a@e‫ ﺕ‬l

i ‫ ا‬i#/‫  ا‬5#w‫ ﺕ‬l‫ و‬-$ ‫'م‬/‫ي ﺕ‬a‫‘ ا‬D:‫ ﺕ‬l ‫ اوال‬: ‫* ﺝًا ﺝَا‬$ *'
#‫إر( إ‬
‫ات؟؟؟‬5#w‫‘ ا‬D: ‫'م‬/4 H#‫ذا وآ‬$‫ و‬H#‫آ‬

:-‫'رة‬U‫ ا‬jK'‫ ﺕ‬i E ‫ل‬h

:‫آ'د‬
#include<iostream.h>
void element(int x)
{
x++;
cout<<x<<endl;
}
void main()
{
int x = 5;
element(x);
cout<<x<<endl;
}
:‫ ا‬Eq‫ ا‬P% 3‫ا<ﺕ‬
:‫آ'د‬
6
5

*‫ إر( إ اا* واا‬i‫ وﺕ‬5 *$#9 $:‫ و‬5#w main ‫ء‬F+‫  ا‬H5‫ ﺕ‬i‫ﺕ‬
 ‫ي‬a‫ ا‬x 7% Hv 7E‫ و‬x P% 5@™ 5#w  K‫ وو‬6/( c9
*‫ ودا@ اا‬-=D4 x p#‫ و‬x 5#w$‫* ا ا@ ا‬$#/‫ إر(ل ا‬i ˜#>main
5+1=6‫ إي‬6 < 5J *‫*  اا‬%6; <$9 <%‫ وا> و‬x 5#w$‫دة ا‬F <$9
V/ x 5#w$‫* ا‬%6; <$9 <% *‫ل  اا‬U‫ﺕ‬l‫ وا ا‬main ‫ء‬F‫  ﺝ‬7E‫و‬
.5#w$‫ ا‬P% >‫دة وا‬F ‫'م‬/ i ‫ ه إي‬$‫ وآ‬5 i95‫ ا‬s6\

:-‫ل ا‬h$‫ ا‬$‫ آ‬m5#w‫ ﺕ‬i‫ أو إرﺝع  ﺕ‬5#w$‫‘ ا‬D> i H#‫ آ‬7E‫و‬

:‫آ'د‬
#include<iostream.h>
int element(int x)
{
x++;
cout<<x<<endl;
return x;
}
void main()
{
int x = 5;
x = element(x);
cout<<x<<endl;
}
:‫ ا‬Eq‫ ا‬P% 3‫ا<ﺕ‬
:‫آ'د‬
6
6

5#w$‫* ا  ا‬$#/‫ إر(ل ا‬i‫ ﺕ‬7E‫=  اا* و‬D4 *$#/‫  ا‬5#w‫ ا‬i i <‫ه‬
i‫ ﺕ‬$ -=D4 x  5#w‫*  ا‬$#/‫ ا‬sK‫ و‬i‫ وﺕ‬main ‫ إ‬%‫ إرﺝ‬i‫و ا ﺕ‬
‫'ن‬E‫ا ;] <Š أن ﺕ‬a‫ ه‬7E‫ و‬5#w$‫ ا‬pD< ‫ى‬5@‫ أ‬m5 D>‫* و‬$#/‫إرﺝع ا‬
.Eq‫ا ا‬a‫ ه‬P%‫ و‬s‫ﺝ‬5‫اا* ﺕ‬

:‫ل‬h$‫ا ا‬a‫ ه‬54‫ ا‬V/ ‫* وا>ة‬$#9 7 5h‫ إرﺝع أآ‬s#;=‫ ﺕ‬l *‫ى اا‬5@‫و'* أ‬

:‫آ'د‬
#include<iostream.h>
int element(int x, int y)
{
x++;
y--;
cout<<x<<" "<<y<<endl;
return x;
return y;
}
void main()
{
int x = 5 ,y = 4;
x = element(x,y);
cout<<x<<" "<<y<<endl;
}
:3‫ا<ﺕ‬
:‫آ'د‬
6 3
6 4

i4 $‫ آ‬7E‫ و‬5#w E return sK' <$9‫ و‬i# 5#w‫ وا‬7#$9 ‫ إر(ل‬i‫ه< ﺕ‬
5;= 5$ 7‫وج و'ت اا* و‬5v‫ ا‬i return *$‫< ا@'ل إ آ‬% -4‫إ‬
5#w 7 5h‫ أآ‬sK‫ و‬s#;(l >‫ وا‬5#w  K‫ و‬i 6/(‫<ا ا‬%‫ و‬5@z‫ا‬
*$#9 7 5h‫آ‬o

*$#/‫ وون إرﺝع ا‬-=D4 5#w$‫  ا‬5#w‫‘ ا‬D> i */5\ ‫ ه ﺕ'ﺝ‬7E‫و‬
5#w 7 5h‫‘ أآ‬D: */5\ ‫ وه ﺕ'ﺝ‬-=D4 5#w$‫ى  ا‬5@‫ أ‬m5 K‫وو‬
‫؟؟؟‬.....

Reference Passing BY ::P%‫* وﺕ‬/5\ ‫ 'ﺝ‬i4


 *$#/‫<'ان ا‬% ‫ إي‬Reference ‫ آ‬i6/(‫ ا‬i‫ و‬i#/‫ إر(ل ا‬i */5;‫ ا‬ma
 -4‫<'ا‬% 5\ 7% -=D4 5#w$‫هب إ ا‬a‫دي إ ا‬  $ ‫ز‬+‫ة ا‬5‫اآ‬a‫ا‬
H5‫* & إم ﺕ‬Z% sK‫ ذاŠ و‬$ ]; ‫ي‬a‫ آ ا‬، -# 5ّ#w‫ة و ا‬5‫اآ‬a‫ا‬
:-‫ل‬h *‫'اس  اا‬9o‫ دا@ ا‬5#w$‫ا‬

:‫آ'د‬
#include<iostream.h>
void element(int& x, int& y)
{
x++;
y--;
cout<<x<<" "<<y<<endl;
}
void main()
{
int x = 5 ,y = 4;
element(x,y);
cout<<x<<" "<<y<<endl;
}
:-‫ ا‬Eq‫ ا‬P% 3‫وا<ﺕ‬
:‫آ'د‬
6 3
6 3

main ‫ء‬F‫*  ﺝ‬%6\‫ و‬i#/‫  ا‬5#w‫  اا* و ا‬-%6\ ‫<ا‬% 3‫>‘ ا<ﺕ‬l
‫م‬9 ' ‫ت إذا‬5#w‫* ا ﺕ‬$#/‫رﺝع ا‬¢ return ‫ إي‬sK‫ و‬i i‫ و‬-=D4 3‫آن ا<ﺕ‬
‫ه‬54 ‫ات ا‬5#w$‫* &  ا‬Z‫ ا‬sK‫ي ﺕ;] و‬a‫= وآ ا‬D4 *‫  اا‬5#w‫ا‬
.5#w‫‘ ا‬D:

:-‫ء‬F+‫ ا‬pD4 %‫ و‬5@™ ‫ل‬h

:‫آ'د‬
#include<iostream.h>
void change(int x, int& y)
{
x = 55;
y = 44;
cout<<x<<" "<<y<<endl;
}
void main()
{
int x = 5 ,y = 4;
cout<<x<<" "<<y<<endl;
change(x,y);
cout<<x<<" "<<y<<endl;
}
:-3‫ا<ﺕ‬
:‫آ'د‬
5 4
55 44
5 44

5‫ﺙ‬  7 5#w‫ا إي ﺕ أو ﺕ‬a x 5#w$‫ ا‬P% & *Z% sK‫ و‬i i c>l $‫وآ‬
( Passing By Value ).P% ‫ا ا<'ع‬a‫ﺹ وه‬o‫ ا‬5#w$‫ ا‬
( P% ‫ا‬a‫ وه‬# 5‫ﺙ‬  ‫ا إي ﺕ ('ف‬a y 5#w$‫ ا‬P% K‫ و‬i‫ ﺕ‬7E
Passing By Reference ).

P%‫ء و‬F‫ ﺝ‬P% @4 Function ‫ل اـ‬E[‫'اع وإ‬4‫=م وأ‬9‫< أ‬5%  ‫ن ا‬z‫وا‬
Overloading

‫ و‬i‫ده‬% ‫ و‬ma@e‫ ﺕ‬P‫˜ إ‬#> 7 ‫'ا‬Dv 7E‫ و‬i(l‫ ا‬pD4  *‫ دا‬7 5h‫وه' أآ‬
:-Š‫ ذا‬P% ‫ل‬h i%'4

:‫آ'د‬
#include<iostream.h>
int sum(int x, int y)
{
return x + y;
}
double sum(double x, int y)
{
return x + y;
}
int sum(int x, int y , int z)
{
return x + y + z;
}
void main()
{
cout<<sum(5,4)<<endl;
cout<<sum(5.1,4)<<endl;
cout<<sum(5,4,1)<<endl;
}

‫و‬o‫ات ا‬5#w 7 ‫'ا‬6/= $ ‫'ا‬Dv 7E‫ و‬i(l‫ ا‬pD4 i ‫ دوال‬3 ‫>‘ ه<ك‬l
‫'ع‬4 7 ‫ات‬5#w$‫ ا> ا‬7E‫ َ و‬O‫ أ‬75#w *#4h‫ وا‬int ‫'ع‬4 7 75#w a@e‫ﺕ‬
Hv‫ا آ دا* ﺕ‬a ‫ات‬5#w 3 a@e‫* ﺕ‬hh‫ وا‬، ‫و‬o‫ ا‬7% Hv‫'ن ﺕ‬E‫ا ﺕ‬adouble
‫ء‬$(‫ أ‬-q‫د ﺕ‬5+ 7E‫ و‬Hv $% ‫'ن‬E m>‫ و‬E‫ى و‬5@o‫ ا‬7%

i‫=]  ﺕ‬: i‫ﺝ‬5$‫ ا‬69 7 ً #™ Š‫* ذا‬5 i -<# *‫ل ا‬U‫ﺕ‬l‫<ا ا‬%‫و‬
. ‫ل‬U‫ﺕ‬l‫اد ا‬5$‫ اا* ا‬pD< ‫'ن‬E ‫ ا* و ن‬-(‫إر‬

Function :-H5‫* ﺕ‬/5\

:-7#/5\
1- Definition
2- Declaration

h # ‫ل‬U‫ﺕ‬l ‫'م‬/‫ي ('ف ﺕ‬a‫'ن اا* 'ق ا‬E‫إي ﺕ‬Definition :

H5‫* ا‬/5\ 7 ‫ا ا<'ع‬a‫ ه‬7 c4‫ آ‬c>5\ ‫* ا‬ho‫وآ ا‬

‫'م‬/ ‫ي ('ف‬a‫ ا‬D(‫'ن اا* أ‬E‫ وﺕ‬Header ً O‫ أ‬%‫وﺕ‬Declaration :


‫ل‬h # ‫ل‬U‫ﺕ‬l
Š4E“ ‫* و‬:#:‫ ﺹ‬7#/5;‫ ا‬Z‫ وآ‬H(o‫ إ ا‬P%o‫ ا‬7 ‫ل‬U‫ﺕ‬l‫'ن ا‬E <‫ه‬
.‫ اوال‬H5‫*  ﺕ‬/5\ ‫ام إي‬v(‫ا‬
‫  ه' ('ف‬h ‫ل‬h$‫ي  ا‬a‫'د ا‬E‫ إن آ] ا‬Declaration ‫  ا<'ع‬7E‫و‬
56‫< ﺕ‬E‫ 'ﺝ'دة و‬4‫ إ‬i‫ ا‬s -5 5#u cube -4e ‫'ل‬/ ‫ و‬error ;
i(l‫ا ا<'ع ا‬a‫ ه‬P% \‫ا أ‬a H(o ‫اه وه‬5 ‫ إن‬s#;(lHeader
‫ 'ق آ‬P%o‫  ا‬D5‫Š ﺕ‬#% ‫ا ا<'ع‬a‫ ه‬s ‫ر ﺕ‬/‫ ﺕ‬E O‫أ‬Header
5;=‫* ا‬E Header File 4e‫اوال وآ‬
:‫آ'د‬
cube(int);

l ‫ أم‬s‫ﺝ‬5‫ ﺕ‬c4‫ إذا آ‬%'4 ]E l‫ اا* و‬i(‫] ا‬E‫إي ﺕ‬


‫ات ا‬5#w$‫ ا‬i(‫] ا‬E l‫ 'ق و‬-%'4 >‫ وا‬E‫ و‬a@e‫ ﺕ‬c4‫ إذا آ‬O‫] أ‬E‫و‬
{} .sO l ‫'\* ; إي‬/< *‫ ﺹ‬5@z‫ه و ا‬a@e‫ﺕ‬

:‫ ا‬Eq‫ ا‬% ‫ل‬h$‫ ا‬j6U ‫إذا‬


:‫آ'د‬
#include<iostream.h>
cube(int);
void main()
{
cube(2);
}
int cube(int x)
{
return x*x*x;
}

'‫ وه‬int ‫'ع‬4 4h‫ وا‬float ‫'ع‬4 ‫ول‬o‫ ا‬7 ‫ان‬5#w a@e‫ اا* ﺕ‬c4‫ل إذا آ‬h
P%o‫]  ا‬E# ‫ [ء‬s‫ﺝ‬5‫ ﺕ‬7 ‫ إي‬void ‫'ع‬4 7 *‫واا‬Reference

:‫آ'د‬
change(float ,int&);

‫ى‬5@‫ ا* أ‬U‫'ن دا* ﺕ‬E‫ ﺕ‬7E$ *‫  اا‬U‫ ا ﺕ‬main 7 ‫ط‬5[ p#‫و‬
main7 ‫ق‬Z;4l‫'ن ا‬E 7E‫ و‬main 5#u

:-Š‫ ذا‬% ‫ل‬h

:‫آ'د‬
#include<iostream.h>
cube(int);
void call()
{
cube(2);
}
void main()
{
call();
}
int cube(int x)
{
return x*x*x;
}

c9 call *‫ واا‬call *‫ل ا‬U‫ﺕ‬l c9 main *‫ل اا‬h$‫ا ا‬a‫>‘ ه‬l
main *‫ اا‬7 ‫ق آن‬Z;4l‫ ا‬7E‫* و‬$#/‫  ا‬c(‫ وأر‬cube *‫ل  اا‬U‫ﺕ‬l
*/5; ‫ إي‬D(o‫ إ ا‬P%o‫ ا‬7 cube *‫  اا‬cU‫ اﺕ‬call *‫ اا‬7E‫و‬
Header.4e P%o‫  ا‬cube *‫< اا‬5% ‫ا‬aDeclaration

i *‫ إي دا‬$% h $%‫( و‬Function) *‫ دا‬%‫ ﺕ‬main ‫ ً اـ‬/( <9 $‫وآ‬
*‫ه] إ اا‬a -4“ 3456‫ ا‬$  ‫ أول‬i‫ﺝ‬5$‫ ا‬5\ 7% # ‫ل‬U‫ﺕ‬l‫ا‬
) .3456‫ ا‬D/ <% (3456‫* ا‬4 ‫<ا‬% ‫'ت‬$‫ وﺕ‬$% <‫ ً و‬#™main
‫أﺕ‪ P<$‬أن ‪'E‬ن ا‪5q‬ح وا‪ ً :K‬وأن أآ'ن ‪ c#;u‬أآ‪ 56‬ﺝ‪F‬ء  ‪Functions‬‬
‫(اوال‪).‬‬

You might also like