زبان برنامه نویسی سی پلاس پلاس(c++):

 

بیشتر نرم افزارها و بازی های ویندوز توسط زبان برنامه نویسی ویژوال سی ++Visual C نوشته میشوند. C++ زبان برنامه ‌نویسی همه‌منظوره،همگردان، سطح میانی، شیءگرا و چندرگه است که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیء گرا پشتیبانی می‌کند. همچنین دارای قابلیت‌های انواع داده ایستا، نوشتار و… است؛c++ یک زبان سطح میانی در نظر گرفته شده است که این زبان دارای قابلیت‌های زبان‌های برنامه‌نویسی سطح بالا و زبان‌های برنامه‌نویسی سطح پایین به‌صورت هم‌زمان است.

این نام متعلق به ریک ماسکیتی است که نخست در دسامبر سال میلادی 1983 شناخته شد.

هنگامی که روی این زبان تحقیقات صورت میگرفت بنام (سی جدید) و بعد ها با نام (سی با کلاس) خوانده میشد. در علم رایانه سی پلاس پلاس به عنوان ابر ساختار سی شناخته میشود که با توجه به نقل قولی از استراس‌تروپ: «این نام ویژگی‌ها تکاملی زبان در C را نشان می‌دهد.» +C نام زبانی غیرمرتبط به این زبان است.

 وقتی که به صورت خصوصی از ریک ماسکیتی در مورد این اسم سؤال شد او در جواب گفت که این اسم به صورت خودمانی در بین آن‌ها به کار می‌رفته ‌است و تصور نمی‌کردند که این نام به صورت نام رسمی این زبان درآید.

ویژگی‌های این زبان

  • پیش پردازنده: این زبان به‌طور عمومی در سه فاز ترجمه میشود: پیش‌پردازنده، ترجمه به کد object، پیوند (که دو مرحله آخر به عنوان عمل کامپایل شناخته می‌شود) در اولین مرحله در پیش‌پردازنده، شبه‌دستورات پیش‌پردازنده تغییرات لغوی بر روی کد منبع ایجاد می‌نمایند و آن را به مراحل دیگر تحویل می‌دهند. دستورها پیش‌پردازنده برای کاربردهای عددی به کار می‌رود که استفاده از const به جای #define ترجیح داده می‌شود؛این کار علاوه بر ایجاد کنترل نوع قوی مانع از گمراهی در فضاهای نام میشود. هدف کمیته استانداردسازی از بین بردن پیش‌پردازنده‌است،ولی با توجه به خصوصیت مدولار C++ بعید به نظر می‌آید که این حذف امکان‌پذیر باشد.
  • قالب‌ها: قالب‌ها با آگاهی از معنا و سیستم نوع در زبان استفاده شده و سایر ویژگی‌های زمان کامپایل می‌توانند از عملیات سطح بالا برای کنترل ترتیب اجرا براساس نوع پارامترها استفاده نمایند. ماکروها کنترل خود را بر کامپایل از طریق ویژگی‌های از پیش تعیین شده انجام می‌دهند ولی قادر به ایجاد انواع جدید و کنترل نوع نیستند و فقط محدود به تغییرات متنی پیش از کامپایل هستند. به‌طور خلاصه استفاده از قالب‌ها به معنای نوشتن هر تابع یا کلاس با استفاده از تمامی انواعِ ممکن است، که نوع آن را پیش از کامپایل در قالب معین نمی‌کنیم.

 

  • اشیاء: ++C چندین ویژگی شی‌گرا را زبان سی معرفی نمود معرفی کلاس چهار ویژگی که در زبان‌های شی‌گرا و بعضاً غیر شی‌گرا حضور دارد یعنی انتزاع، بسته‌بندی، وراثت، و چندریختی را فراهم کرد؛اشیاء نمونه‌های ساخته شده که از کلاس در زمان اجرا هستند. می‌توان کلاس را نمونه‌ای از قالب‌ها دانست که چندین مورد از آن‌ها به وجود آید.
  • بسته‌بندی: بسته‌بندی به معنای جمع‌آوری عملیات و داده در یک محل می‌باشد. ++C بسته‌بندی را با ایجاد امکان تعریف هر کلاس به صورت public, private, protected پیاده‌سازی نموده‌است. در تعاریف شی‌گرا باید تنها توابعی بسته‌بندی گردند که باید از نحوه پیاده‌سازی این نوع بخصوص اطلاع داشته باشد. عموماً توصیه بر این است که تمام اعضا به صورت خصوصی یا حفاظت شده تبدیل گردند و فقط توابعی که باید توسط دیگر کلاس‌ها به عنوان واسط استفاده شوند عمومی باقی بمانند.