سیگنالها وقفههایی (interrupt) هستند که از جانب سیستم عامل به یک پروسس (process) تحویل داده میشوند و میتوانند یک برنامه را به صورت دائمی پایان دهند. میتوان با فشردن کلید Ctrl+C در لینوکس، یونیکس، Mac OS X یا ویندوز یک وقفه ایجاد کرد. سیگنالهایی وجود دارند که یک برنامه نمیتواند …
ادامه نوشته »فضای نام یا Namespace در ++C
وضعیتی را تصور کنید که دو فرد با اسم مشابه یعنی Zara، در یک کلاس داریم. اگر بخواهیم بین آنها تفاوت روشنی به وجود بیاوریم، مجبور خواهیم بود که علاوه بر نام آنها از اطلاعات اضافی مانند محل سکونت – اگر در جاهای متفاوتی از هم زندگی میکنند – و …
ادامه نوشته »حافظه پویا در ++C
درک مناسب از نحوه عملکرد حافظه پویا (داینامیک) کمک شایانی به برنامه نویسان ++C خواهد کرد. حافظه در برنامه ++C به دو بخش تقسیم خواهد شد. Stack: همه متغیرهای تعریف شده درون تابع در حافظه stack ذخیره خواهند شد. Heap: این بخش، حافظه استفاده نشده برنامه است و میتوان در …
ادامه نوشته »اشارهگر به کلاس در ++C
اشارهگر به کلاس در ++C، دقیقاً مشابه اشارهگر ساختارها میباشد و دقیقاً به صورت مشابه، برای دسترسی به اعضای کلاس از طریق آن، از عملگر دسترسی عضو <- استفاده میشود. همانند همه اشارهگرها، باید اشارهگر را پیش از استفاده مقداردهی اولیه کرد. اجازه دهید با مثال زیر مفهوم اشارهگر به …
ادامه نوشته »اورلود عملگر تخصیص در ++C
میتوان عملگر تخصیص (=) را همانند دیگر عملگرها اورلود کرد و همانند سازنده کپی (copy constructor) میتوان از آن برای ایجاد یک شی جدید استفاده کرد. مثال زیر نحوه اورلود کردن عملگر تخصیص را نشان میدهد. #include <iostream> using namespace std; class Distance { private: int feet; // 0 to …
ادامه نوشته »توابع عضو کلاس در ++C
یک تابع عضو کلاس، تابعی است که تعریف یا نمونه اولیهاش درون تعریف کلاس قرار دارد. این تابع در اشیا عضو آن کلاس به کار رفته و به همه اعضای آن شی دسترسی دارد. اجازه دهید از کلاسی که پیش از این تعریف کردیم اینجا نیز بهره بگیریم و به …
ادامه نوشته »مدیریت استثناها در ++C یا Exception Handling
در این جلسه به بررسی مدیریت استثناها در ++C یا Exception Handling میپردازیم. یک استثنا حالتی غیرطبیعی است که ممکن است در حین اجرای یک برنامه رخ دهد. یک استثنا در ++C پاسخی است که برای یک وضعیت ویژه پیش آمده حین اجرای برنامه ، مانند تقسیم بر صفر، تدارک …
ادامه نوشته »چندریختی یا Polymorphism در ++C
یک موضوع مهم در برنامه نویسی Polymorphism است و در این جلسه ما به بررسی چندریختی یا Polymorphism در ++C خواهیم پرداخت. واژه چندریختی به معنی داشتن چندین صورت است. معمولاً، چندریختی در شرایطی اتفاق میافتد که زنجیرهای از کلاسها از طریق وراثت به هم مربوط شدهاند. چندریختی در ++C …
ادامه نوشته »اورلود کردن عملگر ایندکس در ++C
عملگر ایندکس معمولاً برای دسترسی به عناصر یک آرایه استفاده میشود. این عملگر را میتوان برای بهبود کارایی آرایههای ++C اورلود کرد. مثال زیر نحوه اورلود این عملگر را نشان میدهد. #include <iostream> using namespace std; const int SIZE = 10; class safearay { private: int arr[SIZE]; public: safearay() { …
ادامه نوشته »اورلودکردن عملگر افزایش (++) و عملگر کاهش (- -)
عملگرهای افزایش (++) و کاهش (- -) دو عملگر یگانی مهم در ++C هستند. مثال زیر نحوه اورلود کردن عملگر افزایش (++)، در حالت پیشوند و پسوند را نشان میدهد. به طریق مشابه، میتوان عملگر کاهش (- -) را نیز اورلود کرد. #include <iostream> using namespace std; class Time { …
ادامه نوشته »ویرایشگر سطح دسترسی کلاس در ++C
مخفیسازی داده یکی از مهمترین ویژگیهای برنامهنویسی شیگرا میباشد که توابع برنامه را از دسترسی مستقیم به عناصر داخلی یک کلاس منع میکند. این منع دسترسی بوسیله بخشهای برچسب دار درون بدنه کلاس انجام میگیرد. این برچسبها public، private و protected میباشند. کلیدواژههای public، private و protected مشخص کننده سطح …
ادامه نوشته »Overloading عملگر و تابع در ++C
++C به شما اجازه میدهد تا در یک دامنه مشخص، بیش از یک تعریف برای یک تابع یا یک عملگر مشخص کنید، که به ترتیب اضافه بار تابع (function overloading) و اضافه بار عملگر (operator oveloading) نامیده میشود. یک اعلان اورلود شده، اعلانی است که دارای نام و دامنه یکسانی …
ادامه نوشته »دستورات ورودی و خروجی در زبان ++C
کتابخانههای استاندارد ++C مجموعه گستردهای از امکانات برای ورودی/خروجی تدارک دیده که در فصول بعدی با آنها آشنا خواهیم شد. این فصل سادهترین و پرکاربردترین عملیات ورودی/خروجی (I/O) برای برنامهنویسی ++C را تشریح میکند. ورودی/خروجی در ++C با استفاده از استریمها (stream) صورت میگیرد، استریمها دنبالهای از بایتها میباشند. اگر …
ادامه نوشته »تاریخ و ساعت در ++C
در این جلسه به بررسی تاریخ و ساعت در ++C می پردازیم. کتابخانه استاندارد ++C، نوع داده مناسبی برای تاریخ و ساعت تهیه نکرده است. ++C ساختارها (struct) و توابع مربوط به تاریخ و ساعتی که در زبان C پیاده شده است را اتخاذ کرده است. برای دسترسی به ساختارها …
ادامه نوشته »رفرنسها در ++C
در این جلسه به بررسی رفرنسها در ++C می پردازیم. یک متغیر رفرنس (Reference Variable) همانند یک نام مستعار، در واقع نامی دیگر برای متغیر از پیش تعریف شده است. از زمانی که یک رفرنس به یک متغیر آغاز میشود، میتوان از نام آن متغیر یا نام رفرنس برای ارجاع …
ادامه نوشته »