نتایج جست و جو برای: ram

الگوها یا Templates در ++C

الگوها یا Templates در ++C

در این جلسه به بررسی الگوها یا Templates در ++C خواهیم پرداخت. الگوها پایه و اساس برنامه‌نویسی جنریک (generic) می‌باشند. در این برنامه‌نویسی، کد به روشی نوشته می‌شود که به هیچ نوع داده  خاصی وابسته نباشد. یک الگو طرح یا فرمولی برای ساختن یک کلاس یا تابع جنریک است. کانتینرهای …

ادامه نوشته »

حافظه پویا در ++C

حافظه پویا در ++C

درک مناسب از نحوه عملکرد حافظه پویا (داینامیک) کمک شایانی به برنامه نویسان ++C خواهد کرد. حافظه در برنامه ++C به دو بخش تقسیم خواهد شد. Stack: همه متغیرهای تعریف شده درون تابع در حافظه stack ذخیره خواهند شد. Heap: این بخش، حافظه استفاده نشده برنامه است و می‌توان در …

ادامه نوشته »

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

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

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

ادامه نوشته »

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

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

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

ادامه نوشته »

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

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

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

ادامه نوشته »

مدیریت استثناها در ++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 می‌توان نوع داده‌های داخلی را با استفاده از عملگر استخراج استریم << وارد کرد و یا با استفاده از درج استریم >> به خارج ارسال کرد. عملگرهای درج استریم و استخراج استریم را می‌توان برای وارد و خارج کردن نوع داده‌های تعریف شده کاربر، مانند اشیا، اورلود کرد. …

ادامه نوشته »