
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترآموزش C++

زبان برنامه نویسی C++ در سال 1985 توسط Bjarne Stroustup در آزمایشگاه AT&T بعنوان توسعه ای بر زبان C بوجود آمد. افزونه هایی که بر این زبان اضافه شده بودند، از زبان Simula گرفته شده بودند. از آن زمان تا کنون، C++، با سرعت زیادی در راستای نیازهای عملی برای یک زبان برنامه نویسی رو به رشد است، نیازهایی که یک زبان برنامه نویسی را قادر می سازد تا بطور موثری انواع مختلفی از داده ها را در کنار یکدیگر مدیریت نماید. محور اصلی در پیاده سازی این زبان برنامه نویسی، مفهوم برنامه نویسی شی گرا است (OOP). امروزه، C++ بازار تجاری را در اختیار خود گرفته است بطوریکه این زبان برنامه نویسی، هم برای برنامه نویسان سیستم های عامل و هم برای برنامه نویسان نرم افزارهای کاربردی، مورد پسند می باشد.
مقالات C++

C++ یک زبان برنامه نویسی سطح میانی، شی گرا و چند منظوره است که بییارنه استراستروپ آن را در کارگاه های شرکت بل جهت بهبود زبان C در سال 1979 طراحی کرد. این زبان با چندین محیط و بستر اجرا (multi-platform) سازگاری داشته و بر روی سیستم عامل های ویندوز، Mac OS و نیز نسخه های مختلف UNIX قابل اجرا می باشد.

C++ یک زبان با قابلیت نوع داده ای static (قابلیت استفاده از متغیر بدون تعریف آن. زبانی که نوع داده ای متغیر را در زمان کامپایل بررسی می کند)، کامپایل شده، چند منظوره، حساس به کوچک و بزرگی حروف بوده که برنامه نویس در طول توسعه ی پروژه با آن تنها با یک پنجره ی فرمان (cmd) تعامل داشته و خبری از فرم، به آن شکل که در C# وجود دارد، نیست. این زبان از تکنیک برنامه نویسی مبتنی بر تابع (procedural)، شی گرا و generic (روشی از برنامه نویسی است که نوع دادهها در آینده مشخص میشود و زمانی یک نوع به عنوان پارامتر مورد نیاز باشد) پشتیبانی می کند.

لازم نیست جهت یادگیری مفاهیم و اجرای کدهای C++ خود محیط و بستر اجرای اختصاصی راه اندازی نمایید. برخی سایت ها محیط برنامه نویسی با c++ را به صورت آنلاین در اختیار شما قرار می دهند. شما می توانید با مراجعه به آن ها کدهای خود را نوشته، اجرا نمایید و خروجی را در لحظه مشاهده کنید.

پس از بررسی یک اپلیکیشن ساده ی C++، متوجه می شوید که برنامه ی مورد نظر متشکل از تعدادی آبجکت است که با فراخوانی توابع یکدیگر، با هم تعامل کرده و اطلاعات رد و بدل می کنند.

Comment ها دستوراتی هستند که جهت درج توضیحات درباره ی کارایی کد برنامه مورد استفاده قرار می گیرند. کامپایلر در ترجمه ی کد برنامه به زبان ماشین، این خطوط را کاملا نادیده گرفته و آن ها را ترجمه نمی کند. در واقع توسعه دهنده با استفاده از comment در متن برنامه، توضیحاتی درباره ی کاربرد کد خود ارائه می دهد تا بدین وسیله زمانی که شخص دیگری source code برنامه را می خواند، بتواند از بخش های مختلف آن سردر بیاورد.

برنامه نویس، در طول توسعه ی پروژه، طبیعتا می بایست انواع اطلاعات و داده ها (از نوع مختلف) را در متغیرهایی از نوع متفاوت ذخیره کند. به فضایی در حافظه که برای ذخیره دادهها کنار گذاشته شده است، متغیر یا variable میگویند. به بیان دیگر متغیر عبارت است از میزان فضایی در حافظه که بر اساس نوع اطلاعات مورد نظر، جهت نگهداری و ذخیره ی آن اطلاعات تخصیص می یابد. زمانی که برنامه نویس یک متغیر جدید اعلان می کند، در واقع یک بخشی از فضای حافظه، با توجه به نوع داده هایی که قرار است ذخیره شود، به آن متغیر اختصاص می یابد.

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

Scope محدوده ی بدنه تعریف کلاس یا تابع می باشد. در واقع حوزه ی دسترسی یا scope یک ناحیه از برنامه است. متغیرها در سه حوزه ی دسترسی و scope که در زیر شرح داده می شود

ثوابت یا به انگلیسی Constants به مقادیر ثابتی اشاره دارد که ممکن است مقدارشان در طول برنامه به هیچ وجه تغییر نکند. به مقادیر ثابت در برنامه نویسی Literals نیز گفته می شود.

در C++ توسعه دهنده می تواند قبل از نوع داده ای int، char و double تعریف کننده یا modifier درج نماید. Modifier این امکان را فراهم می آورد تا معنی و کاربرد نوع پایه را تا حدی تغییر داده و آن را (با توجه شرایط جاری) جهت رفع نیاز تنظیم نماید.

کلاس Storage در C++ تعیین می کند که کدام بخش از حافظه برای ذخیره ی اطلاعات آّجکت تخصیص یافته و این میزان حافظه تا چه مدت در انحصار آبجکت مورد نظر باید قرار داشته باشد. به عبارت دیگر، Storage class حوزه دسترسی (visibility یا scope) و چرخه ی حیات (life-time) متغیرها و/یا توابع در برنامه ی C++ را تعیین می کند. این کلیدواژگان (توصیف کنندگان) قبل از data type که نوع متغیر را تعیین می کند، درج می شود.

عملگر یک علامت است که به کامپایلر اعلان می کند عملیات ریاضی و منطقی خاصی را اجرا کند. C++ تعداد زیادی عملگر درون ساخته به شرح زیر در اختیار توسعه دهده قرار می دهد.

گاهی در یک برنامه لازم می شود که قطعه کدی معین را چندین بار تکرار (مجدد اجرا) نمایید. به طور کلی، دستورات به ترتیب و پی در پی اجرا می شوند به گونه ای که ابتدا اولین دستور در یک تابع اجرا می شود، سپس دومین و همین طور ادامه می یابد.

ساختارهای تصمیم گیری به برنامه این امکان را می دهند تا در طول اجرا یک یا چند شرط را بررسی کند و در صورت صادق بودن هر یک، عملیات خاصی را انجام دهد و نیز چنانچه شرطها هیچ یک صحیح نبودند، عملیات دیگر را به اجرا بگذارد.

شما می توانید کد خود را به چندین تابع تقسیم کنید. اینکه چگونه کد (انجام وظایف مختلف) خود را بین توابع مختلف تقسیم می کنید کاملا به خود شما بستگی دارد. با این حال به صورت منطقی تقسیم گونه ای انجام می شود که هر تابع یک عملیات یا وظیفه ی خاص را انجام می دهد.

در زبان برنامه نویسی C++یک نوع داده بولین جهت استفاده در توابع تعریف می شود که می تواند مقادیر true (1) یا false (0) را داشته باشد.

از جملات شرطی همراه با else..if، if ،else جهت منعطف سازی ساختار برنامه و بررسی حالات مختلف استفاده می نماییم. دستورات شرطی برای تصمیم گیری های متفاوت با بررسی صحت شرطهای موجود در برنامه به کار می روند.

از دستور switch در زبان ++C برای بررسی شرطها و حرکت بین بلوکهای برنامه استفاده می گردد.در صورتی که هیچ شرطی برقرار نباشد دستور default و کدهای داخل آن اجرا می شود.

آرایه ها توان ذخیره سازی حجم بالایی از اطلاعات از یک نوع را دارند، اما برای ذخیره سازی چندین متغیر با انواع مختلف در یک مکان مشخص از Structures (ساختمان داده) استفاده می شود.

در زبان ++C برای ذخیره سازی و نگهداری تعدادی از داد ه های هم نوع در یک مکان مشخص از آرایه ها استفاده می نماییم. در واقع آرایه را می توان یک نوع متغیر دانست که حجم بالایی از داده ها را در خود جای داده است.

در زبان ++C ارجاع نام مستعاری برای یک متغییر یا یک شی است. وقتی که یک رفرنس(refference) یا مرجع تعریف میکنیم, تمام تغییرات اعمال شده برروی مرجع بر روی آن شی که به مرجع ارجاع داده شده نیز اعمال می گردد.

هنگامی که متغیری تعریف می گردد مکانی در حافظه به آن اختصاص داده می شود. این مکان آدرسی دارد که از طریق ارجاع & قابل دسترسی است. برای دسترسی به آدرس این متغیر نیز از اشاره گر استفاده می نماییم.

در زبان ++C می توانید تعدادی کد را در یک گروه قرار دهید که ورودی دریافت می کنند و بر اساس آن ورودی، خروجی به برنامه ارسال می نمایند. برای این دسته کد می توان نام در نظر گرفت و به عنوان تابع تعریف نمود.

برای کاهش کد نویسی در سی پلاس پلاس می توانیم از کلاس استفاده نماییم. در کلاس متغیرهایی را تعریف می کنیم که شی نام دارند و متناسب با Public و Private بودن در ادامه کدهای برنامه فراخوانی می شوند.