در این جلسه به بررسی الگوها یا Templates در ++C خواهیم پرداخت. الگوها پایه و اساس برنامهنویسی جنریک (generic) میباشند. در این برنامهنویسی، کد به روشی نوشته میشود که به هیچ نوع داده خاصی وابسته نباشد. یک الگو طرح یا فرمولی برای ساختن یک کلاس یا تابع جنریک است. کانتینرهای …
ادامه نوشته »حافظه پویا در ++C
درک مناسب از نحوه عملکرد حافظه پویا (داینامیک) کمک شایانی به برنامه نویسان ++C خواهد کرد. حافظه در برنامه ++C به دو بخش تقسیم خواهد شد. Stack: همه متغیرهای تعریف شده درون تابع در حافظه stack ذخیره خواهند شد. Heap: این بخش، حافظه استفاده نشده برنامه است و میتوان در …
ادامه نوشته »اعضای استاتیک یک کلاس در ++C
با استفاده از کلیدواژه static میتوان اعضای یک کلاس را به صورت ایستا (استاتیک) تعریف کرد. تعریف یک عضو کلاس به صورت استاتیک بدین معناست که بدون توجه به تعداد اشیا ساخته شده از کلاس، تنها یک کپی از عضو استاتیک وجود خواهد داشت. یک عضو استاتیک بین همه اشیا …
ادامه نوشته »اورلود عملگر تخصیص در ++C
میتوان عملگر تخصیص (=) را همانند دیگر عملگرها اورلود کرد و همانند سازنده کپی (copy constructor) میتوان از آن برای ایجاد یک شی جدید استفاده کرد. مثال زیر نحوه اورلود کردن عملگر تخصیص را نشان میدهد. #include <iostream> using namespace std; class Distance { private: int feet; // 0 to …
ادامه نوشته »سازندهها و تخریبکنندههای کلاس در ++C
سازنده کلاس سازنده کلاس (Constructor) یک تابع عضو ویژه از کلاس میباشد که هنگام ایجاد یک شی جدید از آن کلاس اجرا میشود. سازنده دقیقا همنام کلاس میباشد و هیچ نوع دادهای (حتی void) را برنمیگرداند. سازندهها در مقداردهی اولیه به متغیرهای عضو بسیار مفید هستند. مثال زیر مفهوم سازنده …
ادامه نوشته »تابع سازنده کپی در ++C
سازنده کپی (Copy Constructor)، سازندهای است که شی جدید را با استفاده از یک شی از همان کلاس که قبلاً ساخته شده است آغاز میکند. سازنده کپی برای: آغاز یک شی از شی دیگر از همان نوع کپی یک شی برای ارسال آن به عنوان آرگومانی از تابع کپی یک …
ادامه نوشته »مدیریت استثناها در ++C یا Exception Handling
در این جلسه به بررسی مدیریت استثناها در ++C یا Exception Handling میپردازیم. یک استثنا حالتی غیرطبیعی است که ممکن است در حین اجرای یک برنامه رخ دهد. یک استثنا در ++C پاسخی است که برای یک وضعیت ویژه پیش آمده حین اجرای برنامه ، مانند تقسیم بر صفر، تدارک …
ادامه نوشته »فایلها و استریمها در ++C
تا اینجا از کتابخانهی استاندارد iostream استفاده میکردیم، که متدهای cin و cout را به ترتیب برای خواندن از ورودی استاندارد و نوشتن در خروجی استاندارد به کار میبرد. این آموزش به شما نحوه خواندن و نوشتن در فایلها را نشان خواهد داد. برای اینکار به یک کتابخانه استاندارد از …
ادامه نوشته »انتزاع داده (Data Abstraction) در ++C
منظور از چکیدهسازی داده فراهم کردن حداقل اطلاعات برای دنیای خارج و مخفیسازی جزئیات پس زمینه است، یعنی اطلاعات مورد نیاز بدون ارائه جزئیات نمایش داده میشود. چکیدهسازی داده یک تکنیک برنامهنویسی و طراحی است که مبتنی بر جداسازی رابط میانجی (interface) از پیادهسازی (implementation) میباشد. اجازه دهید با یک …
ادامه نوشته »اورلود کردن عملگر دسترسی کلاس (->) در ++C
عملگر دسترسی کلاس (<‒) را میتوان با احتیاط بیشتر اورلود کرد. این عملگر تعریف میشود تا به کلاس، رفتاری شبیه یک اشارهگر اعطا کند. عملگر <‒ باید یک تابع عضو باشد. در صورت استفاده، نوع داده بازگشتی آن باید اشارهگری به یک شی از همان کلاسی باشد که عملگر به …
ادامه نوشته »توابع درون خطی در ++C
تابع درون خطی (Inline) در ++C مفهومی قدرتمند است که معمولاً همراه با کلاسها به کار می رود. اگر یک تابع درون خطی باشد، کامپایلر در زمان کامپایل، یک کپی از کد تابع را در نقطهی فراخوانی آن قرار میدهد. هر گونه تغییر در یک تابع درون خطی نیازمند کامپایل …
ادامه نوشته »اورلودکردن عملگر افزایش (++) و عملگر کاهش (- -)
عملگرهای افزایش (++) و کاهش (- -) دو عملگر یگانی مهم در ++C هستند. مثال زیر نحوه اورلود کردن عملگر افزایش (++)، در حالت پیشوند و پسوند را نشان میدهد. به طریق مشابه، میتوان عملگر کاهش (- -) را نیز اورلود کرد. #include <iostream> using namespace std; class Time { …
ادامه نوشته »ویرایشگر سطح دسترسی کلاس در ++C
مخفیسازی داده یکی از مهمترین ویژگیهای برنامهنویسی شیگرا میباشد که توابع برنامه را از دسترسی مستقیم به عناصر داخلی یک کلاس منع میکند. این منع دسترسی بوسیله بخشهای برچسب دار درون بدنه کلاس انجام میگیرد. این برچسبها public، private و protected میباشند. کلیدواژههای public، private و protected مشخص کننده سطح …
ادامه نوشته »وراثت در ++C
در این جلسه از آموزش ++C به بررسی وراثت در ++C می پردازیم. یکی از مهمترین مفاهیم برنامهنویسی شیگرا وراثت (inheritance) میباشد. وراثت اجازه میدهد که یک کلاس را برحسب یک کلاس دیگر تعریف کنیم، موجب آسانتر شدن ساخت و نگهداری یک برنامه میگردد. این مفهوم همچنین موجب استفاده مجدد …
ادامه نوشته »ساختاردادهها در ++C
در این جلسه از آموزش زبان ++C به بررسی ساختاردادهها در ++C می پردازیم. ++C با تعریف آرایهها به شما این اجازه را میداد که چندین داده هم نوع را یک جا ترکیب کنید، اما ساختار (Structure) نوع دادهای تعریف شده توسط کاربر است که اجازه میدهد که دادههایی از …
ادامه نوشته »