صفحه 1:
صفحه 2:
ad Cr+ @ اول : مقدمات زبان
فصل دوم : ساختار های تضمیم گیری و تکرا
9 فصل سوم : سایر ساختار های تکرا
فصل چهارم : اعداد تصادف
9 فصل پنجم : آرایه ها
8 فصل هفتم : ساختارها و اشاره گرها
© ن شتم : د نامه د a گرا
صفحه 3:
صفحه 4:
۴ عملگر
هاى جا محاسبا
اولويت عملكرها
olx533 (Comments)
توایع کتابخانه
Cre يرتامه در
صفحه 5:
اين زبان در اوائل دهه ۱۹۸۰ توسط بحاصخد 40-5 در آزمايشكاه بل
طراحى oad اين زبان عملاً توسعه يافته زبان برنامه نويسى 0) مى باشد كه
امکان نوشتن برنامههای ساخت يافته شی گرا را میدهد.
صفحه 6:
انون نامگذاری شناسهها
حروف کوچک و بزرگ در نامگذاری شناسهها متفاوت میباشند.
4
صفحه 7:
انون نامگذاری اسهها
۲) در نامگذاری شناسهها از حروف الفباء. ارقام و زیر خط ۱۳06۲560۲6
استفاده میشود و حداکثر طول شناسه ۳۱ میباشد و شناسه نبایستیبا
یک رقم شروع گردد .
صفحه 8:
۳ برای نامگذاری شناسهها از کلمات کلیدی نبایستی استفاده نمود. در زیر بعضی از کلمات
0
کلیدی داده شده است.
صفحه 9:
i
:
i
i
|
صفحه 10:
در اسلاید بعد به انواع داده ها اشاره می شود.
صفحه 11:
انواع داده ها
۷۷ تا -۱۳۲۷۶۸
۵ ۰
۷ 7 - ۱۲۱۳۷۴۸۳۶۳۸
۵ تا
یک کارکتر
۱۲۸-۷
ومج وت ویو
9 تا موه
صفحه 12:
قبل از آنکه در برنامه به متغیرها مقداری تخصیص داده
شود و از آنها استفاده گردد بایستی آنها را در برنامه اعلان
نمود .
صفحه 13:
چند مثال از اعلان متغیر ها :
“” _برای اعلان متغیراز نوع tint
tt x;
برای اعلان متفیرهای ۶ و 9 از نوع 1031 كه هر كدام جهار بايت از
Poa 7,
حافظه را اشغال میکنند :
براى اعلان متغير 06 از نوع كركتر که میتوان یکی از ۲۵۶ کرکتر را
به آن تخصیص داد و یک بایت را اشغال میکند"
chor went;
صفحه 14:
با استفاده از عملگر < میتوان به متغیرها مقدار اولیه تخصیص
در اسلاید بعد مثال هابی از let
صفحه 15:
” در دستورالعمل
نوع با مقدار اولیه ۲۶ اعلان نموده .
در دستورالعمل 0 , ۵000 مسا
متغيرهاى داو ف را از نوع« بط تعريف نموده با مقادير بترتيب
۰و دا
صفحه 16:
دادههای از نوع کرکتر
ای نمایش دادههای از ن ف اتر از
برای نمایش دادههای از نوع -عجاه در حافظه کامپیوتر از جدول
1 استفاده میشود. جدول اسکی به هر یک از ۲۵۶
کرکتر یک عدد منحصر بفرد بین ۰ تا ۲۵۵ تخصیص میدهد.
صفحه 17:
کامپیلر HO بعضی از کرکترهای مخصوص که در برنامه میتوان از
آنها برای فرمت بندی استفاده کرد را تشخیص میدهد. تعدادی از
این کرکترهای مخصوص به همراه کاربرد آنها در اسلاید بعد آورده
شده است .
صفحه 18:
کرکترهای مخصوص
بعنوان مثال از کرکتر [* میتوان برای ایجاد صدای سس
استفاده نمود.
joka x= Me
صفحه 19:
ها
رشته يا يمه عبارتست از دنبالهاى از كركترها كه بين قرار داده
مىشود. در حافظه كامبيوتر انتهاى رشتهها بوسيله ۰۱ ختم مى كردد.
در اسلا ید بعد به دو peared
صفحه 20:
صفحه 21:
صفحه 22:
برای نمایش دادها بر روی صفحه مانیتو از 4 که بدنیال آن عملگر
درج یعنی < < قید شده باشد استفاده میگردد. بایستی توجه داشت که
دوکرکتر < پشت سر هم توسط ۰62+ بصورت یک کرکتر تلقی میگردد.
صفحه 23:
مثال
% بیای نمایشن پیفام سس تسب بر زوی صفحه نمایش: ۰
زاس اسب >> مه
پرای نمایش مقدار متفیر < بر روی صفحه نمایش :
صفحه 24:
دریافت مقادیر متغیر
به منظور دریافت مقادیر یرای متفیرها در ضمن اجرای برنامه از صفحه کلید: از اس كه
بدنبال آن عملگر استخراج يعنى > > قيد شده باشد میتوان استفاده نمود.
صفحه 25:
int x;
cout << "Enter a
number:" ;
cin >> x;
صفحه 26:
عملگر انتساب > میباشد که باعث میگردد
مقدار عبارت در طرف راست اين عملكر ارزيابى
شده و در متغیر طرف چپ آن قرار گیرد.
صفحه 27:
صفحه 28:
عملگرهای محاسباتی
در 0++ پنج عملگر محاسباتی وجود دارد که عبار تند از :
%
این عملگرها دو تائى مى باشند زیر روی دو عملوند عمل مى نما يند. از طرف
ديكر عملكرهاى + و - رامى توان بعنوان عملكرهاى يكتائى نيز در نظر كرفت.
صفحه 29:
در حالتی که هر دو عملوند عملگرهای ۰ ۰۶۰۱ +۰ - از نوع صحیح باشد نتیجه
عمل از نوع صحیح میباشد.
عبارت
صفحه 30:
در صورتیکه حداقل یکی از عملوندهای عملگرهای /۰ ۰-۰۶ + از نوع اعشاری باشد
نتیجه عمل از نوع اعشاری میباشد.
عبارت
Yeo
9*0
8.0/8
8.00
8.0/8.0
صفحه 31:
در 6++. افزایش یک واحد به مقدار یک
Gree ose و و
مشابه کاهش یک واحد از مقدار یک
متغیر از نوع صحیح را کاهش مینامند..
صفحه 32:
صفحه 33:
صفحه 34:
از عملگرهای ++ و -- میتوان بدو صورت پیشوندی و پسوندی استفاده نمود.
در دستورالعملهای پیچیده عملگر پیشوندی قبل از انتساب ارزیابی میشود و عملگر
پسوندی بعد از انتساب ارزیابی میشود.
صفحه 35:
پس از اجرای دستورالعملهای فوق :
پس از اجرای دستورالعملهای فوق :
صفحه 36:
عملگر داد
0 ازعملگرهایکتلئیمیب اشدو مشخصک ننده تسعداد بسلیت
هلئیلسنکه بکتوع دادم اشفا [م )ند
مثال :
مقدار ۲ نمایش داده مى شود
مقدار ۴ نمایش داده می شود.
صفحه 37:
های جا محاسبا
برای سادهتر نوشتن عبارتها در ۰+46 میتوان از
عملگرهای جایگزینی محاسباتی استفاده نمود.
صفحه 38:
اولویت عملگر
رزیابی مقدار یک عبارت ریاضی براساس جدول اولویت عملگرهاانجام میگردد. در ذیل جدول اولویت
عملگرها براساس بترتیب از بیشترین اولویت به کمترین اولویت داده شده است.
پرانتزها
عملگرهای یکتابی
عملگرهای ضرب و تقسیم و باقیمانده
عملگرهای جمع و تفریق
عملگرهای درج و استخراج
عملگرهای جایگزینی و انتساب
O
جد sizeof
صفحه 39:
(618) .هب ye
با توجه به جدول اولویت عملگرها داریم که
(ه*هبی* ج
(6+۵)*
06
06
66
صفحه 40:
06ح رمعم ,معط , حدم
بج راط * ججمدل
>> بعكم >> ل >> بجو
صفحه 41:
توضیحات در برنامه باعث خوانلئی بیشتر و درک بهتر برنامه میشود. بنابرلین
توصیه بر آن است که حتی الامکان در برنامهها از توضیحات استفاده نمائیم. در
0++. توضیحات بدو صورت انجام میگیرد که در اسلایدهای بعدبه آن اشاره
اشده |
صفحه 42:
ضیحات
الف: این نوع توضیح بوسیله // انجام میشود. که کامپیوتر هر چیزی را
كه بعد از // قرار داده شود تا انتهای آن خط اغماض مینماید.
متال
ood b وخ معد ط اعمج عد -الزطجمدم
ب:توضيح نوع دوم با /: شروع شده و به #/ ختم مى شود و هر جيزى
كه بين* / و / قرار كيرد اغماض مینماید
صفحه 43:
زبان 6++ مجهز به تعدادی توابع کتابخانه میباشد. بعنوان مثال
galas توابع کتابخانه برای عملیات ورودی و خروجی وجود دارند.
معمولا توابع کتابخانه مشابه . بصورت برنامههای هدف (برنامه
ترجمه شده بزبان ماشین) در قالب فایلهای کتابخانه دسته بندی و
مورد استفاده قرا رمیگيرند. این فایلها را فایلهای سطحح مینامند و
دارای پسوند .۰ میباشند.
صفحه 44:
نحوه استفاده از توابع کتابخانه اء
برای استفاده از توابع کتابخانه خاصی بایستی
نام فایل سطعح آنرا در ابتدای برنامه در دستور
#طعخم قرار دهیم.
صفحه 45:
عا ۱
تعداد کرکترهای رشته 5
تانژانت 0
یی ترا
تبدیل به حروف کوچک
تبدیل به حرف بزرگ
(e
tot
dovble
double
double
double
dpuble
dpuble
tot
double
لت
tou(d)
leaded)
vin Gd)
vari(d)
virlea(e)
tau(d)
لاطا
toupeerle )
صفحه 46:
برنامه در ۵)++
اکنون باتوجه به مطالب گفته شده قادر خواهیم بود كه تعدادی برنامه ساده و کوچک به زبان 0+
+ بنویسیم. رای نوشتن برنامهبایستی دستورالعمله را در تابع مهعی() قرار دهیم و براى اينكار
میتوان به یکی از دو طریقی که در اسلایدهای بعد آمده است . عمل نمود.
©
صفحه 47:
صفحه 48:
صفحه 49:
برنامه ای که پیغام عچعجمم| صفحدج ساماد دج te ++) را روی صفحه مانیتور نمایش
ss
می دهد.
حلمم طعادة
stot)
1
: "ما عوسيهما احفصت امصزجات مو وا 0+4" >> اوم
: 0 مسج
1
صفحه 50:
صفحه 51:
.دو عدد از نوع اعشارى را گرفته مجموع و حاصلضیب آنها را محاسبه و نما یش میدهد
ss
pas
بر << بر << وم
لمحم
بكم
زج >> > و >> فص
© مجر
}
صفحه 52:
فصل دوم
ساختارهای تصمیم گیری و تکرار
صفحه 53:
صفحه 54:
های رابطه 1
از اين عملگرها برای تعیین اينكه آيا دو عدد با
هم معادلند يا يكى از ديكرى بزركتر يا كوجكتر
مىباشد استفاده مى كردد. عملكرهاى رابطهاى
عبارتند از
صفحه 55:
عملكر شرطى
شکل کلی عملگر شرطی بصورت زیر میباشد:
عملگر شرطی تنها عملگری در 60++ میباشد که دارای سه عملوند میباشد.
صفحه 56:
90ص ۱
زمر : ع7 (بجمحم
اين دو دستور العمل باعث میشوند که ماکزیمم مقادیر مرو « در ط قرار بگیرد.
3? =00 ? pou << "passed" | pout << "Puled” ;
اكر مقدار >< بزركتر يا مساوى ده باشد رشتة لحم در غير اينصورت
رشته لت" نمايش داده ميشود.
صفحه 57:
۳
دستورالعمل شرطی .۰ IB)
که
توسط این دستور شرطی را تست نموده و بسته
به آنكه شرط درست يا غلط باشد عكس العمل
خاصى را نشان دهيم.
(عبیت )1
م مستورا سل
مستورل نملقة 5
else
{
دستورا اعمل1
ار مستورا اهمل13
صفحه 58:
صفحه 59:
<poreaoh> از
جک اس
poet)
سا
:د << وم
> 0(
at <<" xe ceive” << pod |
be
{
| نو دم
صفحه 60:
عملگر کاما
تعدادی عبارت را میتوان با کاما بهم متصل نمود و
تشکیل یک عبارت پیچیدهتری را داد. اين عبارتها به
از چپ به راست ارزیابی شده و مقدار عبارت
ترت
معادل عبارتج میباشد. 4
عبارت ۳ , عبارت ۲ , عبارت ۱)
صفحه 61:
اگر داشته باشیم ۵عو, عط , ۰26: عبارت زیر را در نظر بگیرید:
مقدار عبارت برابر است با 0+6 که معادل ۱۰ میباشد.
صفحه 62:
عملگرهای منطقی
با استفاده از عملگرهای منطقی میتوان شرطهای ترکیبی در برنامه ایجاد نمود.
عملگرهای منطقی عبارتست از :
00
OR
00
که در 6۵++ به ترتیب بصورت زير نشان داده میشود.
&&
!
صفحه 63:
صفحه 64:
if (x= = 5) ily != 0))
cout << x << endl;
صفحه 65:
ى كرفته مشخص مىنمايد
iostream.h > <_— مب
int main()
{
float a, b, c;
cout << “Enter three real numbers" << endl ;
cin >>a>>b>>¢; //
if((a <b + c) &&(b < atc) &&(c < atb))
cout << “It is a triangle" ;
else
cout << “Not a triangle" ;
return 0;
صفحه 66:
دستورالعمل و
از دستور العمل ۲ برای تکرار دستورالعملها استفاده میشود. شکل کلی دستور
عو بصورت زیر میباشد:
(عبارت ۳ عبارت ژ ۲ عبارت ) 80۳
صفحه 67:
ot << "Bolero postive kiewer canober";
ره << وو
Por( 4; =u; +4) Poot
pout << Past << pod
rewaO ;
1
صفحه 68:
ابوتاعة در مرت
اد صحیح و متوالی بین ۱ تاه را محاسبه نموده و نمایش میدهد.
> سا
wot) بر
{
tts, FC;
bry = O ;
om >> a;
احج ع Por(; <0; H+)
>> فص
صفحه 69:
2327110
Hoke <petreur-h>
‘et wata( )
{
tt FO;
Por{ 3 1<=9 ; ) pot << ptt << eek
retura O 5
}
صفحه 70:
د میشوند را نمایش میدهد.
جامسه طحة
peas )
تزا سا
Por(i=d; <=O; +4)
Por(d; =O; +4)
Por{k=; k<=O; ++h)
{
+۳00 + ۳400و
زم << wo <<a
}
retura O ;
1
صفحه 71:
فصل سوم
ساير ساختارهای تکرار
صفحه 72:
فهرست مطالب فصل سوم
۵ دستورالعما
۶ 010 دستورالعه
6216© دستورالعمل
00۶ دستورالعما
Switch دستورالعما
aw cingeto
Silos Static_cast<>0
جدول اولویت عملگرها
صفحه 73:
از اين دستور العمل مانند دستورالعمل « برای تکرار یک دستورالعمل ساده یا ترکیبی
استفاده میگردد. شکل کلی این دستور العمل بصورت زیر میباشد.
صفحه 74:
دستورالعمل 701 زمانی استفاده
ميشود كه تعداد دفعات تکرار از قبل
مشخص و معین باشد. در صورتیکه
تعداد دفعات تکرار مشخص نباشد
بایستی از دستورالعمل 1010316
استفاده نمود.
صفحه 75:
tet x=O
while(x<S)
زج کج << Tal
با اجرای قطعه برنامه فوق مقادیر زیر نمایش داده
fe
:میشود
صفحه 76:
ma
it cout = O , g;
Poot x, pu =O, wy;
/*» تعناد مقامير ورومى */ زه << ويم
whde(ooved <0)
<< وم
wn tex}
++ vow | }
wy = suo! >:
vot << wy << ead;
return D ; }
صفحه 77:
دستورالعمل طانب طلء
اين دستور العمل نيز براى تکرار یک دستورالعمل ساده
پا ترکیبی استفاده میشود. شکل کلی این دستورالعمل
بصورت زیر میباشد.
do
1
ز دستورالععل ۱
5 دستورالععل ۲
+ مستور ا همل
while( b>); }
صفحه 78:
در دستورالعمل 1811816 ابتدا مقدار
شرط ارزیابی شده اما در دستورالعمل
10 10 ابتدا دستورالعمل اجرا
شده سپس مقدار شرط ارزیایی میگردد.
بتابراین دستورالسمل 712116 do
حداقل يك بار انجام ميشود .
صفحه 79:
include <iostream.
int main()
int count = 0;
do
cout << count ++<<endl ;
while(count <= 9);
return 0 ; }
صفحه 80:
brody دستورالعمل
این دستورالعمل باعث توقف دستورالعملهای تکرار( لابب ط, Por, while شده و
کنترل به خارج از این دستورالعملها منتقل مینماید.
Break
صفحه 81:
صفحه 82:
حاسم ات
)سم
1
tet cont 2 0 :
٩( )انب
{
owt H+;
( 40 < سس
bredk ;
}
>> یی >> ۳ : یی >> لور
rena ;
صفحه 83:
حا مه طعادة
peel)
tot ood
Pout x, صمح = O;
<< ود
Por(vount = ; x < (DOO . O; ++ vow)
سید
> 0.0( )
mat << "@rrov — Orquive uch " <<eud;
beds;
1
paw t= x; }
Dnt << mao << ۳ :[
اف
E> ه
صفحه 84:
بوحدية
(0.0 > مج
1
:قحم >> "ص0 معيو 0 - س3" >> تجو
ا
}
wo t= x}
(OO.0); > )سلب (
:لد >> صمح >> قحو
rena Dj}
©
صفحه 85:
دستورالعمل عحفیرر
از دستورالعمل صحفسه میتوان در دستورالعملهای تکرار له
Por . طذرید. لب استفاده نمود. اين دستورالعمل باعث
میشود که کنترل بابتدای دستورالعملهای تکرار منتقل گردد.
Continue
صفحه 86:
pao +x;
مس( > 0000.0 (:
Po << mr; ۱
مم
صفحه 87:
صفحه 88:
دستور العمل >اطاسدد
همانطور كه مى دائيد از دستورالعمل شرطى (ححاء * مى توان بصورت تودرقو
استفاده نمود ولى از طرفى اكر عمق استفادة تو در تو از اين دستورالعمل زياد
گردد. درک آنها مشکل ميشود . براى حل اين مشكل 0++ . دستورالعمل
امد كه عملا يى دستور العمل جند انتخابى مى باشد را ارائه نموده است.
switch
6
صفحه 89:
صفحه 90:
ver 4:
val << "owe" << wud;
سا
pel << "bun" << od;
bred
:قمع
vou << "Pad" << ead;
| * ايد ناه لجس */
صفحه 91:
Dt << "Levy Thos Mowe” << red;
brook;
ver:
at << "qd Te Tose" << ed ;
bred
Pad:
Bent << "Brecter Noa Three” << rand;
}
صفحه 92:
55200000 ee
کلید میگیرد. برای استفاده از این
تابع در ابندای برنامه بایستی داشته
pa
Ete tity
حطصدمطاوموت>
صفحه 93:
صفحه 94:
خاممیی.. وه
)سم
د
(ه6 0ه -! ( )سمه - hde((x
>> قحم
: 0 سم
1
صفحه 95:
:)اس
0
:©
۳ >> ۵00" >> فصو
:ی
ape
8:
pou << “BLOG” << end;
bred ;
oo
| ee;
صفحه 96:
برنامة ذیل یک سطر متن انگلیسی را گرفته کرکترها
chor wen;
he (cont = )سم ) ) BOP)
Pont I=" ")
oot <<cend}
سم 0 :
}
صفحه 97:
52171711007
استفاده مى شود. اين عملكر يك عملكر يكتائى مى باشد.
صفحه 98:
صفحه 99:
صفحه 100:
صفحه 101:
صفحه 102:
تولید اعداد تصادفر
( ]0606 ۲۷) تعریف نوع داده
داده های از نوع شمارشی
فرمت های مختلفه مقادیر خروج
صفحه 103:
اعداد تصادفی
مقادیر تصادفی با شانسی در اکثر برنامههای کاربردی در زمینه شبیه سازی و بازد
تری نقش مهمی را ایفا مینمایند. برای ایجاد یک عدد تصادفی صحیح ب
بایستی از تابع له( ) استفاده نمائیم.
rand| )
صفحه 104:
( )و بر
{
)4+ ;00=< :20 و۳
ما << ) vat << romd(
© بر
}
صفحه 105:
اگر برنامة فوق را چندبار اجرا نمائيم جواب يكسانى را از کامپیوتریمی گیریم.
برای تصادفی کردن اعداد میبایستی از تابع 6۲۵190( ) استفاده نمائیم.
این تابع به یک آرگومان صحیح از نوع 20510001 نیاز دارد.
به این آرگومان 5600 گفته میشود.
در اسلايد بعد برنامه قبلى رابا تابع 818194() نوشته ايم.
صفحه 106:
0ه >>( ]اج >> نج
rows |
}
صفحه 107:
صفحه 108:
السب
)++ ;00=< ;0 بو(
:لحم >> ©. ©6626 / ( الحم << vot
© مور
}
صفحه 109:
تعریف نوع داده (علسس)
از #طحبومیتوان برای تعریسف نوع دادههای جدیسد کسه معادل نوع
دادههای موجود باشد استفاده تمود. شکل کلی عبارتست از :
نشاندهنده نوع داده موجود
صفحه 110:
حال میتوان مرو درا بصورت زیر تعریف نمود :
صفحه 111:
دادههای از نوع شسمارشي
بمنظور معرفی دادههای از نوع شمارشی از کلمه صعجح استفاده میگردد.
02 ی کننوع دادم ش مشیم اشد
صفحه 112:
Bann sie {oarted, devorved, vbw, side};
oie Sj
]طح عو
wore, Ke, wed, ter, Pri}; يديج رادج ونوك وجو
ae
9 00
= <ه
صفحه 113:
بایستی در نظر داشت که دادههای از
نوع شمارشی در عملیات ورودی و
خروجی شرکت نمیتمایند. بعبارتٍ
دیگر مقادیر دادههای از نوع شمارشی
بایستی در برنامه تعیین نمود.
دستورالعلهای ورودی و خروجی مانند
y cin 60۷01 در مورد دادههای
شمارشی نمیتوان استفاده نمود.
صفحه 114:
مقدار ۶ بطور غير علمی با نقطه اعشار ثابت نمایش
داده می شود.
include <iomanip.h>
x=10S0 ; طح
Dat << peter (or |: Pood | te! : showpont ) << wrte(SO) <<
veprevtsir(®) << x << rad ; مر
مقدار »با طول میدان ۲۳ نمايش داده می شود.
ار »با طول میدان ۲۳ نمایش داده می شود مقدار با دو رقم اعشار نمایش داده می شود.
بتابراین مقدار بصورت زیر نمایش داده می شود :
شانزده ستون خالی 1090.00
صفحه 115:
صفحه 116:
gow Sali 1
7 آرایه دو بعدی ( ماتریس ها)
صفحه 117:
آرایه یک بعدء
آرایه یک فضای پیوسته از حافظه اصلی کامپیوتر میباشد که میتواند
,چندین مقدا را در خود جای دهد
کلیه عناصر یک آرایه از یک نوع میباشند.
عناصر آرایه بوسیله اندیس آنها مشخص میشوند.
در ++ . انديس آراية از صفر شروع میشود.
صفحه 118:
صفحه 119:
آرایه یک بعدی از نوع Int
صفحه 120:
تخصیص مقادیر اولیه به عناصر آرایه :
14 OKs (@, ©, 8, 07, 00);
صفحه 121:
دریافت مقادیر عناصر آرایه :
:[6] م
Parlier OD; =P; +H)
veo >> [1] 5
Parle FD; <=G; +H) cow << aft];
صفحه 122:
گر تعداد مقادیر او
tt x9] = (00, 9, 7};
صفحه 123:
صفحه 124:
,6.6 ,0.6 ,000 ,6.6 ,6.6 سا سرا
;}48.8
9
9
صفحه 125:
۱
0
0
بت
: 00 = سوه 4 بسن
Pout xf arate], tt = 0.0 ;
(+۲ سیک :۳۵ ماو
par >> xf i]
Por(FO; erretan; i++)
Det << setesPe(oet'Pimed toy 2: showpond ) << sets{ 18) << seprevetra(®) << xf 1] <<
ead;
(۳ تسیک
صفحه 126:
ایک اس
tet ete )
Poa x20], =
م
)سام
Por{ FO; SOO 5 +41) ora >> af 1];
:201«
(++ تسس متا
Ped] <>) 2 =f];
eed >> ع >> فح
صفحه 127:
() مس بر
{
Pet x{(O], تس
۳
:ل )حسام
For(=O; <dDO; +4) ors >> x{t J;
Por(=O; <9; H+)
Por(Fr#d ; <0; H+)
>
:2 مس
۱121
aft] 2 زج
}
Por(FO; <=0; r++)
pot << xf] << ead
سم 0 :
صفحه 128:
آرایههای دوبعدی (ماتریسها)
ماتریسها بوسیله آرایههای دوبعدی در کامپیوترنمایش داده ميشوند.
int a[3][4];
٠ ستون ۲ ستون ۲ ستون ۱ ستون
OO] AON ات OS]
AMO] aia sate] ات
ACO] ال Cle] eS]
صفحه 129:
تخصیص مقادیر اولیه به عناصر آرایه :
;})0,00,00,00( ,}0,7,0,©( وت تا
صفحه 130:
OIF] { {@, {0,9}, {F,9,9}}; م
صفحه 131:
AOIP]= )0, ©, ©, ©,.6 (: م
صفحه 132:
ps lp ts حبقت رای یک اندیسی ات در
مان las a ae dau سوه اس
rt of JIPRGC,9,6,9};
صفحه 133:
۱ eye tee Sed e per ere es
حاممصووم> ی رن ]
ایک ی
total)
f
Poa xfO][P], wrt= 0.0;
۳ «۹
> مشج صفحدج ||
Por(=O; <9; +H)
Por (FO; <9; r++)
:۱ << وم
اه اه بمج صما صخلت ||
(++ ب©> بوعيجم
<P; ++) وحيجم
«+ 2۱:
wnt << “pid = "<< thd << ead
صفحه 134:
صفحه 135:
نوابع درون خط
انتقال بارامترها | ارجا
wis (Storage classes ) های حافظه
سرياركذلرى توابع
صفحه 136:
استفاده از توابع در برنامهها به برنامهنویس این امکان را میدهد که
بتواند برنامههای خود را به صورت قطعه قطعه برنامه بنویسد. تا کنون
کلیه برنامههائی که نوشتهایم فقط از تابع هسب( ) استفاده نمودهايم.
صفحه 137:
58 5 5 5 مقدار برگشتر
شكل كلى توابع بصورت زیر میباشند : 0
لیست پارامتر ها جهت انتقال اطلاعات از تابع احضار کننده به تابع فراخوانده شده
return-value-type function-name (paérameter-
list)
1
declaration and statements
تعریف اعلانهای تابع و دستورالعملهای اجرائی
صفحه 138:
پارامتری از نوع 2ق
7
pte
phar bw_b_wy (oho ofl)
{
vker vO;
:لك :( م ۵۵( 0 و (APE = هم
rena (c®) :
}
صفحه 139:
© سما
HA” © )7( د" س> اطق “4 * دج )سوم
vets 0;
}
con
hor x
x= once)
pn <b s(n) ١
ممعم ©:
}
صفحه 140:
(۸ مس بر
{
2م
(0 >=)? V5
سم
}
صفحه 141:
x , ty) موی بر
ne
acer py)? xiv;
aes
}
)ميم
1
tab;
زا <ده << مم
:(طه) حصب >> نهر
سم
b ,3 آرگومانهایتلبع مس
صفحه 142:
صفحه 143:
صفحه 144:
. تبع دیگر احضار میگردد
بایستی تعریف تابع احضار شونده قبل از تعریف
ab. احضار کننده در برنامه ظاهر گردد
صفحه 145:
385
اگر بخواهيم در برنامهها ابتدا تابع 080
ظاهر گردد بایستی ۳0101106 تلبع بعنی
پیش نمونة تلبع که شامل نام تلبع. نوع مقدار
برگشتی تابع. تعداد بارامترهائي را كه تابع
ار دريافت آنرا دارد و انواع بارامترها و
ترتیب قرارگرفتن این پارامترها را به اطلاع
ils
در اسلاید بعد مقالی در این زمینه آورده شده است.
صفحه 146:
ایک یا
0
0
) تفت
ito;
pal << "@uler u postive لت >> مس
به << وم
صفحه 147:
7 BS
QS
&
در صورتی که تابع مقداری بر نگرداند نوع
مقدار برگشتی تلبع را ۷۵34 اعلان میکنيم. و
در صورتیکه تلبع مقداری را درلفت نکند بجای
list مامهمتهواز Otvoid
استفاده میگردد.
در اسلاید بعد مقالی در این زمینه آورده شده است.
صفحه 148:
تابع مقداری بر نمی گرداند.
pot << "wax uch lu" << 2<< ead;
مور
صفحه 149:
صفحه 150:
در اين نوع احضار تابع حافظههای مورد
استفاده آرگومانها و پارامترها
از هم متمایزند و هرگونه تغییر در پارامترها
باعستث تفي
اك
در آرگومنهای متناظر نم ىكردد.
صفحه 151:
۵ رکه
QS
هر زمان که نوع مقدار برگشتی تابع int
میباشد نیازی به ذکر ن نیست و همچنین
صفحه 152:
توابع بازگشتی یا 1661115116 توابعی هستند که
وقتی احضار شوند باعث میشوند که خود را احضار نمایند.
صفحه 153:
نحوه محاسبه فاکتوریل از طریق تابع بازگشتم
۰ .۳6۳ عم
اه(
5 0و {
درغي رليسويه میج ۲0
ج)* زهم"* ... *و*ق *0 دام
0
«* ا(مج)دام
در اسلايد بعد تابع بازكشتى مورد نظر پیاده سازى شده است.
5
جه ه
صفحه 154:
berg tot )ل حص
tnt cata )
{
عم
جم ” >> نوم >
وم <<
ant << ead <<” Pastore =" << (a) << pod;
retura O 5
}
pay tot Pastoritdi{int a)
P(e<=0)
rena);
: ( (0> سه" )مم
صفحه 155:
: منیب فسيبناكى ... ,900 , 60 ,09 ,© ,© ,© ,© ,4,0 , ۵
م
fled “Plfa)=
we
رهد )ص رجام
در اسلايد بعد تابع بازكشتى مورد نظر پیاده سازى شده است.
صفحه 156:
bry tat Peery fe); // Porwrard dockets
oo
frag tat rj
زم
uch ” << ood; ما میج >> فجن
<د وم
كا
لحم >> >> يوم
: 0 عم
}
(۰ ۱۵ و۳۲ ها بسا
Moz =a] 0(
rete 7;
cbr
renre( Pr) + Pole) );
صفحه 157:
seo rove]! Porvoo
وعدم
)سدم
: 0 مس
}
vord reverse(vord)
|| لمیر a hoe oP chorwters vad reverse t
{
زو وان
زاس( ۰( ای )۸
زج >> قود
صفحه 158:
استفاده از آرایهها بعنوان پارامتر تبع مجاز است.
در اسلايد بعد به يك مثال توجه نمایید.
صفحه 159:
1
2
3
4
5
تب هر تن © لق
ماو Porward |/ :( [ ] میلست فد
haa
rt ofS] :
Por(tat RD; <P; +4)
vou << of] << ead;
ممعم © :
1
لاس wood y(t of [( ۱ مسا ی(
{
۳) =O; <9; +4)
i<0; +4)
Por(FO;
vo << of j] << ed;
ممم
صفحه 160:
در صورتيكه آرايه بیش از یک بعد داشته باشد
بعددهاق دومبه يعدا بايسدى دز تعويف تلبع و بيقن
نمونه تابع ذکر گودد.
در اسلايد بعد به يك مثال توجه نمایید.
صفحه 161:
k> رن
:(1 119 ] بیج لس
=
rt of [O19] = ( {8,9}, (9,9);
wo F 0,0,9,6,9},
SISF (.9,9,¢,9);
279 [JSF (0,0), (} };
مسج
}
alias 1©[(
نا 0: 0; H+)
{
Por{tt =D; 1605 H+)
won << oft i] <<"
لجس >> يحم
eee000
صفحه 162:
کلمه 1101186 بدین معنی است که به کامپیلر دستور میدهد که
يك کپی از دستورالعلمهای تابع در همان جا (در زمان مقتضی)
تولید نماید تا از احضار تابع ممانعت بعمل آورد.
صفحه 163:
بجای داشتن تنها یک کپی از تابع . چند کپی از دستورالعملهای تابع در
برنامه اضافه میشود که باعث بزرگ شدن اندازه با طول برنامه میشود.
بنابراین از 11011196 برای توابع کوچک استفاده میگردد.
صفحه 164:
مثالی از توابع درون خ
fickle <petreawh>
tober Poot abe(coust Mot») {rete o*s*s; }
)سدم
1
طحم سا
pia >> wider |
mint << ode << rabe(okle) << ead ;
retra O 5
}
©
صفحه 165:
تاکنون وقتی تیعی را احضار مى كرديم يك كبى از مقادير آركومانها دربارامترهاى متناظر
قرار میگرفت . این روش احضار بوسیله مقدار با ۷۵106 11 0811 نامیده شد.
در انتقال بارامترها از طریق ارجاع در حقیقت حافظه مربوط به آركومانها و يارامترهاى متناظر
بصورت اشتراکی مورد استفاده قرار میگیرد. این روش ۳۵2۵۶666 بوط هه
Spat
صفحه 166:
در ال روش پارامترهائی که از طریق ۲010169006 توظ 6۵11 عمل مینمایند در
نمونه تابع قبل از نام چنین پارامترهائی از 6 استفاده میشود.واضح است
که دار تعریف تابع نیز بهمین طریق عمل میشود.
صفحه 167:
اه طلسم
et VP rte); HI Bor
vod rPirees (tot 6( :
pos)
و
اج >> ب BM SS x SC werd <6 cf) Cel SS
صفحه 168:
وقتی پارامتری بصورت لاط call
0706 اعلان میگردد اين بدان معنى
است كميا تغيير مقدار لين يارامتر در تلبع احضار
شده مقدار آركومان متناظر نيز تغيير مى نمايد.
صفحه 169:
Det <<a << pad <b;
Powap( a,b);
زط >> اقحس >> ه >> فجن
: © مور
صفحه 170:
کلاسهای حافظه (عصصاه صوصص)
متفیرها بدو طریق متمایز مشخص میشوند یکی بوسیله نوع (عجبه) نها و دیگری بوسیله
کلاس حافظه آنها. نوع متغیر قبلا اشاره شده بعنوان مثال عاطحط.. ۰۳۳۵ ۰.۰۰۱۷ ولی کلاس
خافظة يك متغير در مورد طول عمر و وسعت و دامن متغیر بحث مینماید.
در اسلاید بعد به انواع کلاس حاقظه می پردازیم.
صفحه 171:
automatic
static
external
register
صفحه 172:
automatic
متغیرهای تفه در درون یک تابع تعریف میشوند و در تابعی که اعلان
میشود بصورت متغیرهای محلی برای آن تابع میباشند. حافظه تخصیص داده
uy MM lb patie ay od از اتمام اجرای تابع از بين می رود بعبارت _
ديكر وسعت و دامنة متغيرهاى از نوع 7ه تابعى مى باشد که متغیر در آن
اعلان گردیده است.
صفحه 173:
static
متغیرهای عفد« نیز در درون توابع تعریف میشوند و از نظر وسعت و دامنه شبیه
متغیرهای ع#حفه هستند ولی در خاتمة اجرای تابع. حافظه وابسته به این نوع
متغیره از بین نمیرود بلکه برای فراخوانی بعدی تابع باقی میماند.
در اسلاید بعد به یک مثال از کاربرد این نوع کلاس حافظه می پردازیم.
صفحه 174:
و
امه اسلا مه تفلطلی با موی |[
foro tt Pitt) §
)سم
1
كم
اك
حدم
pow << rod
( + زک ز0 م۳
rod; << ۳ >> > >> >> قحم
:0 جر
+
comet) م۳۲ بسا
ma 2 4, 620: بسا عبر
عدا
© +20:0 (6©> سداد
صفحه 175:
external
متغیرهای از نوع جع متغیرهلئی هستند که در بیرون از تولبع اعلان میشوند
و وسعت و دامنه فعالیت آنها کلیه توابعی میباشد که در زیر دستور اعلان متفیر
قرار دارد.
در اسلاید بعد به یک مثال از كاربرد اين نوع كلاس حافظه می پردازیم.
صفحه 176:
یه طیاب#
۱
Pucntalfet 2, tot)
{
اس >> قحم
wexty;
Dent << wud << ws << echt;
بل مج
}
est)
Dat << pad <p << ead >> سس >> قحس >> ل
rewraO ;
}
صفحه 177:
register
وقتی متغیری از نوع ضيح اعلان میشود از کامپیوتر عملا درخواست
میشود که به جای حافظه از یکی از رجیسترهای موجود استفاده نماید.
صفحه 178:
صفحه 179:
سریارگذاری توابع (عفعطصه سح
در 6++ این امکان وجود دارد که دریک برنامه بتوانیم از چند توابع هم نام
استفاده نمائیم مشروط بر این که پارامترهای این توابع متفاوت باشند. (از
نظر تعداد پارامتر و یا نوع پارامترها و ترتیب آنها)
صفحه 180:
0
عه سام : i);
et iP (t,t);
اس
: لحم روح م
: م 6ل سم
pat << ukF(a, b) << ead;
pot << ak Pd, b) << rod;
rena ;
}
kt ok (ct, ty)
{
rota ty |
}
Pou uxkF (Pou x, mtv)
{
صفحه 181:
ساختار ها و اشاره گرها
صفحه 182:
ها Union
( 20166 ) اشاره كرها
تعريف آرايه
آرایه هاى دو بعدى و اشاره كرها
new ) حافظه بصورت يويا (
شته ها و توایع مربوطه
صفحه 183:
ساختارها
ساختارها شبیه آرایهها بوده بدین صورت که یک نوع داده گروهی است که فضای
پیوسته از حافظه اصلی را اشغال مینماید. اما عناصر ساختار الزاماً از یک نوع
نمیباشند بلکه اعضای بیک ساختار میتوانند از نوعهای مختلفه از قبیل ۰ phew
لط. ۳ . ... باشند.
صفحه 184:
نام ساختار
struct time
{
int hour ; // 0 - 23 0
int minute ; // 0 -
اعضا ساختار
59
int second; //
13
5
صفحه 185:
ساختار 30001001 دارای چهار عضو میباشد.
CoA شطيه حسابيز نوع 6ط
0 Toy
0000# name
ser yeep Meee Cnt
صفحه 186:
به دو صورت می توان اعلان یک متفیر از نوع ساختار را نمایش داد:
روش اول
:روش دوم
صفحه 187:
به ساختارها میتوان مقدار اولیه نیز تخصیص داد
wood mst = (PESO, ‘Duder Dudert” , PESC.S};
صفحه 188:
صفحه 189:
عج_س. بصه
vast woe = “Duder Daderi”
rast. base 2 0
صفحه 190:
: نکته
عضو یک ساختار خود میتواند یک ساختار دیگر باشد.
struct date {
int month;
int day;
int year;
1
struct account {
int acc_no ;
char acc_typer;
char name[80];
float balance ;
date lastpay ; };
اگرداشته باشیم
account x, y;
آنگاه عضو 1351۳۵57 بوسیله
x.lastpay.day
x.lastpay.month
x.lastpay.year
صفحه 191:
: نکته
میتوان آرایای تعریف نمود که هر عضو آن یک ساختار باشد و حتی بهآنها مقادیر اولیه تخصیص نمود.
مسحت اماع
char rae PO];
rt pad;
tp; } 5
ereloredl JF {"askr”, GOO , ۵000,
,"و" FOOO, OOO,
مهو" , 9۳00, 000,
“pares”, POOD , OOOO, };
صفحه 192:
Plot bi dos vy a
vowplex anobers” << wad; © جح" >> نو
j اههد << وت
vot << ead
pir >> pia >> yb;
+ ود
abe xbt pb;
ont << pad >> ورد >> ۲ “<<zb;
© مور
1
+16 12-7 بطوييكه
ماج دود
Hy (ate) 164d)
صفحه 193:
ee ee ol فلوتكه
عضوهللیکه ت-شکیل010 11193 میدهد همگواز حافظه مشترکیدر
rrr taco eee apr ane eee Ee
صرفهجینیدر حافظه مسر
صفحه 194:
هر کدام از متغیرهای »رو لا بیک رشته
۱۰ کرکتری با یک مقدار از نوع int
میباشدد وکامهیهترییک بلوک حاقنه که
بتواند رشته ۱۰ کرکتری رادر خود جای
دهد .برای00102 و 5326 در نظر
میگیرد.
صفحه 195:
صفحه 196:
اشارهگرها (عصده۳))
دادههانی خه در حامپیوتر در حافظنه اصلی ذغیره
بایتهای متوالی از حافظه بسته به نوع 0212 اشغال مى كثند.
0
۸ ۲۱۳۷۳۸۳۶۲۸
یک کارکتر
وهیجو تا وهیعم4
0 تا 66۵09
صفحه 197:
اشارهگرها (عصده۳))
با داشتن آدرس داده در حافظة اصلی میتوان براحتی به آن داده
دسترسی پیدا نمود و از طرف دیگر آدرس هر داده در حافظه آدرس
بایت شروع آن داده میباشد.
int x = 61.
صفحه 198:
نکته
در کامپیوتر آدرسها معمولاً دو بایت اشغال مینمایند. اگر آدرس >«را در «م قرار دهیم آنكاه مى كوثيم كه »م به
>« اشاره مینماید.
صفحه 199:
26
حال اكر دستور العمل 10 -+ 6 زرا بدهیم:
36
حال اگر دستورالعمل 7 + 0* < 01 ز بدهیم.
43
صفحه 200:
آرایه یک بعدی و اشاره گرها
اولین عنصر آرایه بوسیله 201 مشخص میشود.
آدرس اولین عنصر آرايه بوسيله 010184 يا بوسيله > مشخص میشود.
آخرس 1امين عنصر آرايه بوسيله :613-136 يا بوسيلة 3401-1 مشخص میشود.
دو دستورالعمل زير با هم معادلند .
5 - [11]ء:
de + 6 1۸۲.۵۰
از طرف دیگر اگر داشته باشیم
1101 11021
jfloat *p
دو دستورالععل زیر معادلند.
21 دمر
2+ عوز
و ه ۵ ۵ 5 ۵ ۵ ۵0
صفحه 201:
ساختارها و اشاره گرها
میتوان اشاره گری را تعریف نمود که به اولین بایت یک ساختار (معمهعا اشاره نماید.
struct
strucl
صفحه 202:
ارایههای دویعدی و اشارهگرها
يك آریه ویمدی بسورت تعماي آریه نک بعدی من تون عریق عومد
اگر « یک ماتریس ۵ سطری و ۴ ستونی از نوع اعشاری باشد قبلاً اين ماتریس را با
joa xf]
معرفى كرديم. حال با استفاده از اشارهگرها بصورت زیر معرفی نمائیم:
صفحه 203:
آرايه يك بمدى اول
آرايه يك بعدى دوم
آرایه يك يعدى سوم
آرايه يك بعدی چهادم
آرایه یک بعدی پنجم
صفحه 204:
و
حاص ١ طعادة
ae )
kt xf (00, 89, ©, 09, 400);
:)حسام
tet "pax;
انام آيليه بدو نديس لشايه به عنصر ایلآرلیه میسمابدا|
Porta HO; <=; r++)
Dent << *(ct) << eed;
Uke sevoed لاس
Por; <0; ++)
>>[ >> فص
ساب لد |
ree; +4) رسیم
>>[ ]مس >> فصو
اس ۳۷ ۱
)+ اس را
الم( >> فص
( :0 سم
G
=>
صفحه 205:
از عملكر ely ce تخیصیص حافظمبه صورت بويا
dynamic memory allocation
صفحه 206:
۳2 به اولین داده از نوع 3108 اشاره مینماید.
+تاو ب» 1 +ألمیرعنصراز فضای ی یوسته لشایه میماید.
صفحه 207:
ا
راعشخص و نمایش میدهد.
0
)سدم
1
م
;0.0 = ينوم" مح
قجس >> > و سین جح >> مج
<< مم
:[-] حاط سصمحوم
+ يدكر زوع مجم
إل + سوم" << وم 0
ما هيت
0)
Por (=O; زه بكم
wits "pr +);
pant << teh;
U sx order © Prov be ope we
cee] prs
renee O;
صفحه 208:
0
”م oot <<" how oxny records?
ma >> 0;
زاس سح > ۲
Port =O; <0; +4) {
> >> (إسا<- (جهم))>> دجم
: ام >> (6 .0ل كو بإزه عوم)")>> فود
bbe [re
[: 0 سیب
G
=>
صفحه 209:
0
۳
ail
Pou ub;
ia >> a >> b;
pn <u << wad ام > با ک>
صفحه 210:
char name[ ]= ”
sara’;
صفحه 211:
رشته و اشاره گر
هر رشته از طریق اشارهگری به اولین کرکتر آن در دسترس قرار میگیرد. آدرس یک رشته. آدرس کرکتر
اول آن میباشد. به رشتهها میتوان مقداراولیه تخصیص داد.
char *name =” sara’;
صفحه 212:
۱
حيصي نا
([ ]اه لس
)سيم
{
char Yow] = ("rare “rook”, bubck, “eons”, “oa”
اجه له لوف ا نو
مب رم رهم مسج
ced, >> [ ]سس >> بجر
:0 سم
حمم
ام
(0 <(: اس eons
the two srt مت ۲
اعسوم
]سس > [ ]عمد
:۶۱ [۱ ]سس
[ :میم
اف
>
صفحه 213:
صفحه 214:
رشتههای 51 و 52 رابا هم مقایسه نموده اگر 51 برابربا 52 باشد مقدار صفر و اگر
رشته 91 کوچکتر از رشته 52 باشد یک مقدار منفی در غیر اینصورت یک مقدار
مثبت برمیگرداند.
صفحه 215:
اکرکتر از رشتذ 81 رابا «كركتر از رشتة 82 مقايسه نموده در صورتيكه
1 کوچکتر از 52 باشد یک مقدار منفی, اگر 51 مساویبا 92 باشد مقدار صفر در
pad ایتصورت یک مقدار مثبت برمیگرداند.
صفحه 216:
دو رشتة 51و 52 را بعنوان آرگومان گرفته رشتة 52 رابه انتهای رشتذ 51 اضافه
مینماید. کرکتر اول رشتة 52 روی کرکتر پایلنی "۱0" رشتة 91 نوشته مى شود ونهايقاً
رشتة 51 را برمیگرداند.
صفحه 217:
دورشته 951 52 ومقدار صحيح و مثبت هرا بعنوان آركومان كرفته. حداكثر م
رشتة 91 کپی مینماید. اولین کرکتر رشته 52 روی
كركتر يايانى “70 رشتة 51 مىنويسد ونهايتاً مقدار رشتة 51 را برمیگرداند.
صفحه 218:
صفحه 219:
صفحه 220:
صفحه 221:
صفحه 222:
ای ام وت
رشتهها بایستی حتماً در ابتدا برنامه
<include <string.h+ ,|
reels
صفحه 223:
:( )ساد
vat << siren oll, 9) << ved
Dat << sraxnp(oll, 29, P) << wad ;
rena O;
صفحه 224:
صفحه 225:
( 4اه , [اه میاه بت
{
زعم
( إناد-لاع) حص
(of+4]="0" ) ®
:0 مر
:(2]]0) مسج
}
صفحه 226:
5 1 هنت
برنامه نویس شی گرا
صفحه 227:
ae
MY
ست مطالب
pif igi dad
jiu, uz (polymorphism)
خاضیت ارت بت
ans, (stack)
ssl all
slat ان ات اشاره گنه
توایع سازنده پازامتر دا اشاره گر حل
توابع سازنده یک پارامترع . توابع مجازی و پلی مرفیسم
صفحه 228:
برنامه نویسی شی گرا یا 0010 یک روش جدید برنامه
نویسی میباشد که در آن از ویژگی
ساختیافته همراه با چند ویژگیهای قوی جدید استفاده
آن برنامه نویسی 67++ امکان استفاده از 00
را به راحتی فراهم مینماید.
صفحه 229:
در 00 , بطور کلی مساله به تعدادی زیرگروه قطعات
code «.
تبدیل به
136 ها با واحدهائی میشود که 09685 (با اشیام
ناهیده میشوند.
صفحه 230:
تمام زبائيهاى برنامه نويسى شىكرا داراى سه
خصوصيت مشترک زیر میباشند
(jl+)9.04) encapsulation sit
(42) polymorphism :—
(s»©;) imheritance:c
صفحه 231:
محصورسازى (وصنداد د22 2 )
محصورسازی مکانیزمی است که roe 9 4ك را بهم وصل نموده و هر دوى آنها را از استفاددهاى
غیرمجاز مصون نگه میدارد. شی یک مولفه منطفی است که 40 و طعمت را محصور تموده و طحم
باعث دستکاری و پردازش تفه میشود.
صفحه 232:
چند ریختی مشخصهای است که بیک وسیله امکان میدهد که باتعدادی
.از سیستمها یا عمیات یا دستگاههاء مورد استفاده قرار گیره
صفحه 233:
ارث بری فرآیندی است که بوسیله آن یک شی (]01[66) میتواند
خاصیتهای شی دیگری را دارا شود.
صفحه 234:
بوک ات میکود یک عصر از بشته اج کرد
صفحه 235:
بمنظور ایجاد یک شی بایستی از کلسة رزروشده
255 استفاده نمود. 01855 از نظر ظاهر شبیه
ساختار یا 503120 میباشد. پشته را بعنوان یک
object میتوان در تظر گرفت که ۸8 تن
شامل یک آرلیه ویک 805 و عملیاتی که روی
اين 01668 انجام مى شود عبارتست از .711519
os initialize .pop
در اسلاید بعد مثالی از نحوه ایجاد شی آورده شده است.
از نحوه ایجاد شی آور
صفحه 236:
بدین معنی است که »ماو 0 9110 ۷
5 يوسيله توابعى كه عضو |
060 نباشند غير قابل ۷
دسترسی هستند. وان یکی از سس
شترتی هستند وین یکی از Sr
ee 91ج
kf toy;
بدين معنى انست که بوسیله سایر vai),
قطعات برناصسه قابسل دسسترسی ز(۱ 0اه لس
پاش
:( )سم مر
صفحه 237:
فقط تولبع عضو میتوانند به متغیرهای عضو از نوع مه
دسترسی داشته باشند. بایستی توجه داشت که اگر نوع عضوی
مشخص نگردد آن عضو به صورت اتوماتیک مهم مى باشد.
Private
صفحه 238:
vord )اس : : اناد i)
1( ©6112 - د دوم
:”دخا د معا" >> مج
تم
}
stck|be]= 1;
tow ++;
عملگر:: مشخص مینملید که تبع متعلقبه کدام 010[66 میباشد. عملگر : : عملگر
SCOpe resolution نامیده میشود.
صفحه 239:
مج
اه ‘peck wf, 9; || rete te
wok سای
rare)
صفحه 240:
ارث بری فرآیندی است که بوسیله آن یک شی (]01[66) میتواند
خاصیتهای شی دیگری را دارا شود.
در اسلاید بعد مثالی از ارث بری آورده شده است.
صفحه 241:
:ال
در روبرو جنات اى بنام ساختمان يا دشح تعريف كرديدة اسث.
هر ساختمان دارای تعدادی اطاق. تعدادی طبقه و سطح زیر بنا نیز
ميباشد: از طرف دیگزتوایعی که بزاق شي تغزیف شده
حال ناه ديكرى بنام «صحط تعریف مینمائيم کهنه تنها دارای
تعام اعضای شی پ«فح میباشد بلکه دارای دو اقلام داده افلفی
و چهار تابع اضافی میباشد. دراینجا عملاً شى «صحط از شی
یط ارث میبرد :
صفحه 242:
در مثال قبل بجقفط را ععاه و ها را جعاه Atel ga dered . شی عصحا تمام
اعضای بجقفط را دارا است بعلاوه اينکه دارای متغیرهای عضوی اضافی عف ۰ سس و
همچنین توابع عضوی سب .)فا .داح _مانیز
میباشد. .
Inheritance.
صفحه 243:
سازندهها و نابودکنندهها (عصسط اجه عصسصسسس]
bab! til, — Initializatio صوردتماتیکاز طریوتلبعیلنجام
QU gol aij waits L constructor elit. oh.
مخصوصیسنکه عضوواز ک الب وده و همام ASL LS Li
صفحه 244:
سازندهها و نابودکنندهها (عصسط اجه عصسصسسس]
Joc Se. destructor bois opt alt تلبع سازنده را انجام
میدهد. وقتی که شیای از بين میرود بصورت اتوماتیک تلبع نابود کننده
آن فراخوانی میگردد.
صفحه 245:
با استفاده از کلمة 83101901 لین امکان وجود دارد کهبه تابعی که عضو کلاس
نمیباشد اجازه دسترسی به متغیرها: Wai Jy ssf) oe private
تابعی را دوست اعلان نمائیم از کلمه Ld friend از تعریف تلبع استفاده
مى نمائيم.
در اسلاید بعد مثالی آورده شده است.
صفحه 246:
0
0
) سارت سار
۳
rib:
:ل سات )سعد Petra it
:1ك ,1 هلوس word
3
| :: obra, ei)
صفحه 247:
۱-کلاسی که از کلاس دیگر ارت میبرد. توابع دوست آن کلاسس را
به ارث نمیبرند.بعبارت دیگر یک 61255 8023700 . توبع
0 3
۲-نوایع دوست دارای مشخصه نوع ذخیره نمیباشند یعنی AND
دوست را نمیتوان بصورت ]هنک با 036107021 تعریف
نمود.
صفحه 248:
باشد . در چنین وضعیتی تابع دوست به
اين امكان وجود دارد كه يك كلاس دوست كلاس ديكرى رچنین
sla تعريف شده در كلاس ديكر دسترسى دارد.
كليه اسامى وعدم تعريف شده در
Friend Class
در اسلاید بعد مثالی آورده شده است.
صفحه 249:
صفحه 250:
امکان انتقال آرگومانها به تولبع سازنده وجود دارد. معمولاً از اين
See براى تفه نمودن شسی در زمان ایجاد آسن اسستفاده
دد.
در اسلاید بعد مثالی آورده شده است.
صفحه 251:
امک یاب #
خاک عبات
) امه ام
و با
: ام
wovckwn (tet t, tot) fe = 5 v=)
ae ) foo << << ee <<; }
1
صفحه 252:
توا 5
حاممصوم> طعادةة
ی رن ]
سس پیب
م
ريح ( سس
a x} ( )سب بر
رابه ۱066 منتقلك ناا ده
(( )تاه << vow
© عبر
صفحه 253:
اگر عضو دادهای بصورت 582830 اعلان گردد این بدین معنی است کد
کامپیلر فقط یک کبی از متغیر مذکور را نگهداری نموده و تعام ۵6 [و
ها بایستی بصورت اشتراکی از آن كبى استفاده نمايند. براى ايتكار
میبایستی از کلمه 5286 قبل از اعلان عضو استفاده تمود.
در الايد يعد مثالی آورده شده است.
صفحه 254:
)دم
زو howd
0ص هد // :(0,0)سدم
rorkou{ i
vise PP); I oben *
)سداس ير (
ز( )سید
er",
p>
صفحه 255:
میتوان یک کلاس را در یک کلاس دیگر تعریف نمود.
آمابعلت اینکه در 6++ براي کلاسها خاصیت ارث
بری وجود دارد نیازی معمولاًبه تعریف نمودن یک
کلاس در کلاس دیگر نیست
Nested Classes
صفحه 256:
وقتی که کلاسی در درون یک تابع تعریف میشود این
کلاس فقط برای آن تابع شناخته شده است و برای
تولبع دیگر ناشناخته میباشد. چنین کلاسی را کلاس
محلی مینامند.
Local Classes
صفحه 257:
در مورد کلاسهای محلی رعایت نکات زیر ضروری است :
تمام توابع عضو بايستى در درون كلاس تعریف گردند.
از متغیرهای محلی. تابعی که کلاس در آن تعریف شده نمیتواند استفاده نماید.
از متغیرهای عضوی هه نمیتوان استفاده نمود.
صفحه 258:
استفاده از ها بعنوان پارامترها
از اه ها میتوان بعنوان پارامترهای توابع استفاده نمود و مکانیزمانتقال آرگومانها و پارامترها بصورت
by cher قد مى باشد.
صفحه 259:
در اسلاید بعد مثالی آورده شده است.
صفحه 260:
frevkee <pereuw.k>
اب سار )
:ال
ا( { ward set_ Act a)
(: سس ( )رصم
k
میا از[ سیخ ماوت os bet
ee)
امه
b= Pe)
vat << obaptt( ) << ead
ممصم ©
صفحه 261:
انتساب اشیاء (مسنسه سسوم
در اسلاید بعد مثالی آورده شده است.
صفحه 262:
] ی وس <petrrow.h>
# اه >
امن سا
tt
rable:
لح 4 3) (xi)
st ett) frenrart}
eee
wocken obfl, ob;
)128( باه
b= offi; If cas cess Prow ob ob
)ضام (:
اسم >>
rer ©:
}
صفحه 263:
در اسلاید بعد مثالی آورده شده است.
صفحه 264:
حامس طادة
حاصحه طبادة
ارت اد
0300
bbe:
vord eet it) (ii)
لصم ( ارس
at)
:)سا
worker bf];
a
۱ ob Art);
Por (=O; <2; H+)
قعص >> ( )راس .[؛ إنام >> جو
ممم 0:
1
صفحه 265:
در اسلاید بعد مثالی آورده شده است.
صفحه 266:
0
troche <oocte hk
ام سار
tt;
bbe:
)عم ( {=O;}
i) {i} )سام
te) {rena}
k
م --)
-[ق]ط وساسد )0, ©, ©(:
:م" سرت
العم >> ( )راس <-م >> فصو
اانا جد p++; Il pond
صفحه 267:
در اسلاید بعد مثالی آورده شده است.
صفحه 268:
للم معد () حرص لد
اووس سا اقا مود
bi > ud = hy > ud *he > by
}
( ای بر
)10.7.0 ,0 ,40.8 (9 ,© )سم
>>( )سروب > مج
pur ) << ]
:7ه >>( )سم ورد >> مج
( :0 مس
صفحه 269:
تابع مجازی, تابعي است که در base class تعریف شد و
بوسیله 01855 16115760 تغیر داده ميشود. برای اعلان یک
تابع مجازی بایستی از کلمه ۷1۲1281 استفاده نمائیم.
تغیر تابع در کلاس مشتق روی تابعی که در کلاس پایه (hase class)
تعریف شده انجام میشود.
در اسلاید یعد مثالی آورده شده است.
صفحه 270:
خلسسسه یسم
thew bor
rie
raed لع re Hert $6" rr Pe)”
2
sha etal bbs awe
عم
)<< *) سح ما ایس عام ” >> قحا ( سخا لمم
3
haw drt ]سس تالم
537
0
wend") ( اماب تسوت تسوت مسر
bows مسجت( مج
تست تمس از
اس
( اس حاسمت سست Pe >
تست تس
2,
osteo ker treet‘)
صفحه 271: