اشاره‌گر به کلاس در ++C

اشاره‌گر به کلاس ++C

اشاره‌گر به کلاس در ++C، دقیقاً مشابه اشاره‌گر ساختارها می‌باشد و دقیقاً به صورت مشابه،  برای دسترسی به اعضای کلاس از طریق آن، از عملگر دسترسی عضو <- استفاده می‌شود. همانند همه اشاره‌گرها، باید اشاره‌گر را پیش از استفاده مقداردهی اولیه کرد. اجازه دهید با مثال زیر مفهوم اشاره‌گر به …

ادامه نوشته »

محصورسازی داده (Data Encapsulation) در ++C

محصورسازی داده (Data Encapsulation) در ++C

همه برنامه‌های ++C متشکل از عناصر بنیادین زیر هستند. دستورات برنامه (کد): بخشی از برنامه است که عملیات را انجام می‌دهد و تابع نامیده می‌شود. داده برنامه: داده اطلاعات برنامه است که توابع برنامه‌ی آن را تغییر می‌دهند. محصورسازی مفهومی ‌از برنامه‌نویسی شی‌گرا است که داده و توابع تغییردهنده داده‌ها …

ادامه نوشته »

اورلود عملگر تخصیص در ++C

اورلود عملگر تخصیص در ++C

می‌توان عملگر تخصیص (=) را همانند دیگر عملگرها اورلود کرد و همانند سازنده کپی (copy constructor) می‌توان از آن برای ایجاد یک شی جدید استفاده کرد. مثال زیر نحوه اورلود کردن عملگر تخصیص را نشان می‌دهد. #include <iostream> using namespace std; class Distance { private: int feet; // 0 to …

ادامه نوشته »

سازنده‌ها و تخریب‌کننده‌های کلاس در ++C

سازنده‌ها و تخریب کننده‌های کلاس در ++C

سازنده کلاس سازنده کلاس (Constructor) یک تابع عضو ویژه از کلاس می‌باشد که هنگام ایجاد یک شی جدید از آن کلاس اجرا می‌شود. سازنده دقیقا هم‌نام کلاس می‌باشد و هیچ نوع داده‌ای (حتی void) را برنمی‌گرداند. سازنده‌ها در مقداردهی اولیه به متغیرهای عضو بسیار مفید هستند. مثال زیر مفهوم سازنده …

ادامه نوشته »

تابع سازنده کپی در ++C

تابع سازنده کپی در ++C

سازنده کپی (Copy Constructor)، سازنده‌ای است که شی جدید را با استفاده از یک شی از همان کلاس که قبلاً ساخته شده است آغاز می‌کند. سازنده کپی برای: آغاز یک شی از شی دیگر از همان نوع کپی یک شی برای ارسال آن به عنوان آرگومانی از تابع کپی یک …

ادامه نوشته »

توابع عضو کلاس در ++C

توابع عضو کلاس در ++C

یک تابع عضو کلاس، تابعی است که تعریف یا نمونه اولیه‌اش درون تعریف کلاس قرار دارد. این تابع در اشیا عضو آن کلاس به کار رفته و به همه اعضای آن شی دسترسی دارد. اجازه دهید از کلاسی که پیش از این تعریف کردیم اینجا نیز بهره بگیریم و به …

ادامه نوشته »

مدیریت استثناها در ++C یا Exception Handling

مدیریت استثناها در ++C یا Exception Handling

در این جلسه به بررسی مدیریت استثناها در ++C یا Exception Handling می‌پردازیم. یک استثنا حالتی غیرطبیعی است که ممکن است در حین اجرای یک برنامه رخ دهد. یک استثنا در ++C پاسخی است که برای یک وضعیت ویژه پیش آمده حین اجرای برنامه ، مانند تقسیم بر صفر، تدارک …

ادامه نوشته »

فایل‌ها و استریم‌ها در ++C

فایل‌ها و استریم‌ها در ++C

تا اینجا از کتابخانه‌ی استاندارد iostream استفاده می‌کردیم، که متدهای cin و cout را به ترتیب برای خواندن از ورودی استاندارد و نوشتن در خروجی استاندارد به کار می‌برد. این آموزش به شما نحوه خواندن و نوشتن در فایل‌ها را نشان خواهد داد. برای اینکار به یک کتابخانه استاندارد از …

ادامه نوشته »

اینترفیس‌ها در ++C (کلاس‌های انتزاعی)

اینترفیس‌ها در ++C (کلاس‌های انتزاعی)

یک اینترفیس (interface) رفتار یا قابلیت‌های یک کلاس ++C را بدون درنظرگرفتن هیچ نوع پیاده‌سازی برای آن توصیف می‌کند. اینترفیس‌های ++C با استفاده از کلاس‌های انتزاعی (abstract class) پیاده می‌شوند. این کلاس‌های انتزاعی را نباید با مفهوم ‌چکیده‌سازی که برای جداسازی جزئیات پیاده‌سازی از داده‌ها به کار رفت اشتباه بگیریم. …

ادامه نوشته »

انتزاع داده (Data Abstraction) در ++C

چکیده‌سازی داده (Data Abstraction) در ++C

منظور از چکیده‌سازی داده فراهم کردن حداقل اطلاعات برای دنیای خارج و مخفی‌سازی جزئیات پس زمینه است، یعنی اطلاعات مورد نیاز بدون ارائه جزئیات نمایش داده می‌شود. چکیده‌سازی داده یک تکنیک برنامه‌نویسی و طراحی است که مبتنی بر جداسازی رابط میانجی (interface) از پیاده‌سازی (implementation) می‌باشد. اجازه دهید با یک …

ادامه نوشته »

چندریختی یا Polymorphism در ++C

چندریختی یا Polymorphism در ++C

یک موضوع مهم در برنامه نویسی Polymorphism است و در این جلسه ما به بررسی  چندریختی یا Polymorphism در ++C خواهیم پرداخت. واژه چندریختی به معنی داشتن چندین صورت است. معمولاً، چندریختی در شرایطی اتفاق می‌افتد که زنجیره‌ای از کلاس‌ها از طریق وراثت به هم مربوط شده‌اند. چندریختی در ++C …

ادامه نوشته »

AVR یا PIC؟ کدام میکروکنترلر را برای پروژه‌ها انتخاب کنیم؟

AVR یا PIC؟ کدام میکروکنترلر را برای پروژه‌ها انتخاب کنیم؟

زمانی که نوبت به مرحله‌ی انتخاب میکروکنترلر می‌رسد، آن‌قدر میکروکنترلرها متنوعی که بعضا ویژگی‌های مشابهی نیز ممکن است داشته باشند در بازار وجود دارد که واقعا گیج‌کننده است. از میان این همه، کدام را باید انتخاب کنیم؟! پارامترهای مهمی ‌برای این انتخاب و تصمیم وجود دارند که باید درنظر گرفته …

ادامه نوشته »

اورلود کردن عملگر فراخوانی تابع () در ++C

اورلود کردن عملگر فراخوانی تابع () در ++C

عملگر فراخوانی تابع () را می‌توان برای اشیا آن کلاس اورلود کرد. با اورلود کردن عملگر ()، راه جدیدی برای فراخوانی تابع ایجاد نمی‌کنید، بلکه یک تابع عملگر ایجاد خواهید کرد که می‌توان تعداد دلخواهی پارامتر به آن ارسال کرد. مثال زیر نحوه اورلود کردن عملگر فراخوانی () را نشان …

ادامه نوشته »

اورلود کردن عملگر ایندکس در ++C

اورلود کردن عملگر ایندکس در ++C

عملگر ایندکس معمولاً برای دسترسی به عناصر یک آرایه استفاده می‌شود. این عملگر را می‌توان برای بهبود کارایی آرایه‌های ++C اورلود کرد. مثال زیر نحوه اورلود این عملگر را نشان می‌دهد. #include <iostream> using namespace std; const int SIZE = 10; class safearay { private: int arr[SIZE]; public: safearay() { …

ادامه نوشته »

اورلود کردن عملگر دسترسی کلاس (->) در ++C

اورلود کردن عملگر دسترسی کلاس (

عملگر دسترسی کلاس (<‒­­) را می‌توان با احتیاط بیشتر اورلود کرد. این عملگر تعریف می‌شود تا به کلاس، رفتاری شبیه یک اشاره‌گر اعطا کند. عملگر <‒ باید یک تابع عضو باشد. در صورت استفاده، نوع داده بازگشتی آن باید اشاره‌گری به یک شی از همان کلاسی باشد که عملگر به …

ادامه نوشته »