تابع سازنده کپی در ++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

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

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

ادامه نوشته »

اورلود کردن عملگرهای ورودی/خروجی در ++C

اورلود کردن عملگرهای ورودی/خروجی در ++C

در ++C می‌توان نوع داده‌های داخلی را با استفاده از عملگر استخراج استریم << وارد کرد و یا با استفاده از درج استریم >> به خارج ارسال کرد. عملگرهای درج استریم و استخراج استریم را می‌توان برای وارد و خارج کردن نوع داده‌های تعریف شده کاربر، مانند اشیا، اورلود کرد. …

ادامه نوشته »

اورلود کردن عملگرهای رابطه‌ای در ++C

اورلود کردن عملگرهای رابطه‌ای در ++C

زبان ++C از عملگرهای رابطه‌ای متعددی (<, >, =<, =>, ==,…) پشتیبانی می‌کند. این عملگرها برای مقایسه نوع داده‌های داخلی در ++C به کار می روند. می‌توان هرکدام از این عملگرها را اورلود کرد تا برای مقایسه‌ی اشیا یک کلاس هم قابل استفاده باشند. مثال زیر نحوه اورلود کردن عملگر …

ادامه نوشته »

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

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

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

ادامه نوشته »

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

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

عملگرهای یگانی روی یک عملوند کار می‌کنند. مثال‌های زیر نمونه‌ای از عملگرهای یگانی هستند. عملگر افزایش (++) و کاهش (- -) عملگر یگانی منفی (-) عملگر منطقی نفی (!) عملگرهای یگانی روی اشیا نیز کار می‌کنند و در حالت نرمال، عملگر در سمت چپ شی قرار می‌گیرد، مانند obj ،-obj …

ادامه نوشته »