در این مقاله به آموزش کار با CMake میپردازیم. برای کار با CMake نیاز به دانش برنامهنویسی زبان C یا برنامهنویسی زبان ++C دارید و جز آموزشهای پیشرفته زبان C و ++C حساب میشه. CMake چیست؟ ابزار cmake یک سیستم قابل توسعه برای مدیریت پروسه build بدون وابستگی به کامپایلر …
ادامه نوشته »برنامهنویسی وب در ++C
CGI چیست؟ رابط دروازه مشترک (Common Gate interface) یا CGI، مجموعهای از استانداردها میباشد که چگونگی ردوبدل کردن اطلاعات بین سرور و یک اسکریپت دلخواه را تعریف میکند. مشخصات فعلی CGI توسط NCSA نگهداری میشود.CGI ،NCSA را به صورت زیر تعریف میکند. رابط دروازه مشترک، استانداردی برای دروازه خروجی برنامه …
ادامه نوشته »چند نخی یا Multithreading در ++C
چند نخی شکل ویژهای از چند وظیفهای (multitasking) است. چند وظیفهای خاصیتی است که به کامپیوتر این امکان را میدهد تا دو یا چند برنامه را به طور همزمان اجرا کند. در حالت کلی، دو نوع چند وظیفهای وجود دارد: مبتنی بر پروسس (process-based) و مبتنی بر نخ (thread-based). چند …
ادامه نوشته »مدیریت سیگنالها در ++C
سیگنالها وقفههایی (interrupt) هستند که از جانب سیستم عامل به یک پروسس (process) تحویل داده میشوند و میتوانند یک برنامه را به صورت دائمی پایان دهند. میتوان با فشردن کلید Ctrl+C در لینوکس، یونیکس، Mac OS X یا ویندوز یک وقفه ایجاد کرد. سیگنالهایی وجود دارند که یک برنامه نمیتواند …
ادامه نوشته »پیشپردازندهها یا Preprocessor در ++C
پیش پردازندهها دستوراتی هستند که به کامپایلر اعلام خواهند کرد که اطلاعات را پیش از آغاز عملیات کامپایل، چگونه پیش پردازش کنند. همه دستورات پیشپردازنده با # آغاز میشوند. در هر خط، قبل از دستور پیش پردازنده فقط استفاده از کارکترهای فضای خالی مجاز است. دستورات پیشپردازنده دستورات ++C به …
ادامه نوشته »الگوها یا Templates در ++C
در این جلسه به بررسی الگوها یا Templates در ++C خواهیم پرداخت. الگوها پایه و اساس برنامهنویسی جنریک (generic) میباشند. در این برنامهنویسی، کد به روشی نوشته میشود که به هیچ نوع داده خاصی وابسته نباشد. یک الگو طرح یا فرمولی برای ساختن یک کلاس یا تابع جنریک است. کانتینرهای …
ادامه نوشته »فضای نام یا Namespace در ++C
وضعیتی را تصور کنید که دو فرد با اسم مشابه یعنی Zara، در یک کلاس داریم. اگر بخواهیم بین آنها تفاوت روشنی به وجود بیاوریم، مجبور خواهیم بود که علاوه بر نام آنها از اطلاعات اضافی مانند محل سکونت – اگر در جاهای متفاوتی از هم زندگی میکنند – و …
ادامه نوشته »حافظه پویا در ++C
درک مناسب از نحوه عملکرد حافظه پویا (داینامیک) کمک شایانی به برنامه نویسان ++C خواهد کرد. حافظه در برنامه ++C به دو بخش تقسیم خواهد شد. Stack: همه متغیرهای تعریف شده درون تابع در حافظه stack ذخیره خواهند شد. Heap: این بخش، حافظه استفاده نشده برنامه است و میتوان در …
ادامه نوشته »اعضای استاتیک یک کلاس در ++C
با استفاده از کلیدواژه static میتوان اعضای یک کلاس را به صورت ایستا (استاتیک) تعریف کرد. تعریف یک عضو کلاس به صورت استاتیک بدین معناست که بدون توجه به تعداد اشیا ساخته شده از کلاس، تنها یک کپی از عضو استاتیک وجود خواهد داشت. یک عضو استاتیک بین همه اشیا …
ادامه نوشته »اشارهگر به کلاس در ++C
اشارهگر به کلاس در ++C، دقیقاً مشابه اشارهگر ساختارها میباشد و دقیقاً به صورت مشابه، برای دسترسی به اعضای کلاس از طریق آن، از عملگر دسترسی عضو <- استفاده میشود. همانند همه اشارهگرها، باید اشارهگر را پیش از استفاده مقداردهی اولیه کرد. اجازه دهید با مثال زیر مفهوم اشارهگر به …
ادامه نوشته »محصورسازی داده (Data Encapsulation) در ++C
همه برنامههای ++C متشکل از عناصر بنیادین زیر هستند. دستورات برنامه (کد): بخشی از برنامه است که عملیات را انجام میدهد و تابع نامیده میشود. داده برنامه: داده اطلاعات برنامه است که توابع برنامهی آن را تغییر میدهند. محصورسازی مفهومی از برنامهنویسی شیگرا است که داده و توابع تغییردهنده دادهها …
ادامه نوشته »اورلود عملگر تخصیص در ++C
میتوان عملگر تخصیص (=) را همانند دیگر عملگرها اورلود کرد و همانند سازنده کپی (copy constructor) میتوان از آن برای ایجاد یک شی جدید استفاده کرد. مثال زیر نحوه اورلود کردن عملگر تخصیص را نشان میدهد. #include <iostream> using namespace std; class Distance { private: int feet; // 0 to …
ادامه نوشته »سازندهها و تخریبکنندههای کلاس در ++C
سازنده کلاس سازنده کلاس (Constructor) یک تابع عضو ویژه از کلاس میباشد که هنگام ایجاد یک شی جدید از آن کلاس اجرا میشود. سازنده دقیقا همنام کلاس میباشد و هیچ نوع دادهای (حتی void) را برنمیگرداند. سازندهها در مقداردهی اولیه به متغیرهای عضو بسیار مفید هستند. مثال زیر مفهوم سازنده …
ادامه نوشته »توابع عضو کلاس در ++C
یک تابع عضو کلاس، تابعی است که تعریف یا نمونه اولیهاش درون تعریف کلاس قرار دارد. این تابع در اشیا عضو آن کلاس به کار رفته و به همه اعضای آن شی دسترسی دارد. اجازه دهید از کلاسی که پیش از این تعریف کردیم اینجا نیز بهره بگیریم و به …
ادامه نوشته »تابع سازنده کپی در ++C
سازنده کپی (Copy Constructor)، سازندهای است که شی جدید را با استفاده از یک شی از همان کلاس که قبلاً ساخته شده است آغاز میکند. سازنده کپی برای: آغاز یک شی از شی دیگر از همان نوع کپی یک شی برای ارسال آن به عنوان آرگومانی از تابع کپی یک …
ادامه نوشته »