C++ (بخوانید سی‌پلاس‌پلاس ‎/ˌsiːˌplʌsˈplʌs/‎) یک زبان برنامه‌نویسی همه‌منظوره، همگردان، سطح میانی، شیءگرا و چندرگه است که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیءگرا پشتیبانی می‌کند. این زبان دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه‌شده با پشتیبانی از برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریک است. از آنجا که در ++C اشیاء را می‌توان ابتدا به ساکن از کلاس‌هایی ایجاد کرد که به هیچگونه سلسله مراتب رده‌ها و وراثت مقید نیستند، لذا ++C از برنامه‌سازی شیء بنیاد (object-based programming) نیز پشتیبانی می‌کند. C++ به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی هستند.
یک زبان برنامه‌نویسی همه‌منظوره، همگردان، سطح میانی، شیءگرا و چندرگه است که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیءگرا پشتیبانی می‌کند
1656162
سی‌پلاس‌پلاس چیست؟
انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه‌شده با پشتیبانی از برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریک است
1656163
سی‌پلاس‌پلاس دارای چه قابلیت هایی است؟
سی‌پلاس‌پلاس
1656164
نام پرطرفدارترین زبان‌های برنامه‌نویسی را بنویسید
1656165
برنامه‌نویسی چیست؟
1656166
اولین زبان برنامه نویسی چه بود؟
1656167
اولین زبان برنامه نویسی توسط چه کسی ابداع شد؟
استراس‌تروپ کار بر روی زبان «C دارای کلاس» را در سال ۱۹۷۹ آغاز کرد. ایدهٔ ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراس‌تروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگی‌هایی مناسب برای ساخت برنامه‌های بسیار بزرگ است اما برای استفادهٔ عملی بسیار کند است اما بی‌سی‌پی‌ال با وجود سرعت بسیار زیاد برای ساخت برنامه‌های بزرگ بسیار سطح پایین است. زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته یونیکس با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگی‌های سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و در سطح گسترده‌ای در حال استفاده بود. علاوه بر C و سیمولا زبان‌های دیگری مانند ALGOL ۶۸، ADA, CLU, ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتدا ویژگی‌های کلاس، کلاس‌های مشتق شده، کنترل نوع قوی، توابع درون‌خطی و آرگومان‌های پیش‌فرض از طریق Cfront به C اضافه شد. اولین نسخهٔ تجاری در سال ۱۹۸۵ ارائه شد.
۱۹۷۹
سال ۱۹۷۹
در سال ۱۹۷۹
1656218
استراس‌تروپ کار بر روی زبان سی دارای کلاس را از چه سالی آغاز کرد؟
ایدهٔ ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراس‌تروپ خطور نمود.
1656219
ایده ساخت زبان سی دارای کلاس چه زمانی به ذهن استراس‌تروپ خطور نمود؟
آزمایشگاه‌های بل
1656220
استراس‌تروپ کار خود را در چه آزمایشگاهی آغاز نمود؟
با مشکل تحلیل هسته یونیکس با توجه به محاسبات توزیع شده روبرو شده بود
1656221
زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل آغاز نمود با چه مشکلاتی مواجه شد؟
1656222
استراس‌تروپ اهل کدام کشور بود؟
1656223
استراس‌تروپ در چه دانشگاهی تحصیل می‌کرد؟
در سال ۱۹۸۳ نام زبان از «C با کلاس» به C++ تغییر یافت. ویژگی‌های دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر به‌صورت آزاد، کنترل نوع بهتر، و توضیحات یک‌خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامه‌نویسی C++ انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی‌ای وجود نداشت. در سال ۱۹۸۹ ویرایش ۲٫۰ از زبان C++ ارائه شد. ویژگی‌های جدیدی مانند ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توابع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد. در سال ۱۹۹۰ «راهنمای مرجع C++» منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگی‌های اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.
۱۹۸۳
سال ۱۹۸۳
در سال ۱۹۸۳
1656274
در چه سالی نام زبان سی با کلاس به سی‌پلاس‌پلاس تغییر یافت؟
۱۹۸۵
سال ۱۹۸۵
در سال ۱۹۸۵
1656275
در چه سالی اولین نسخه زبان برنامه‌نویسی سی‌پلاس‌پلاس انتشار یافت؟
۱۹۸۹
سال ۱۹۸۹
در سال ۱۹۸۹
1656276
در چه سالی ویرایش ۲۰ از زبان سی‌پلاس‌پلاس ارائه شد؟
ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توابع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد
ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توابع، اعضای ثابت تابع، و اعضای حفاظت شده
1656277
در ویرایش ۲۰ در سی‌پلاس‌پلاس چه ویژگی‌هایی به آن اضافه شده بود؟
۱۹۹۰
سال ۱۹۹۰
در سال ۱۹۹۰
1656278
در چه سالی راهنمای مرجع سی‌پلاس‌پلاس منتشر شد؟
قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی
1656279
آخرین ویژگی‌های اضافه شده به زبان سی‌پلاس‌پلاس چه بود؟
1656280
قالب توابع در برنامه نویسی را تعریف کنید
قالب‌ها متفاوت با ماکروها هستند. در حالی که از هر دوی این ویژگی‌ها در زمان کامپایل برای ایجاد کامپایل شرطی استفاده می‌شوند قالب‌ها محدود به تغییرات لغوی و متنی نیستند. قالب‌ها با آگاهی از معنا و سیستم نوع در زبان استفاده شده و سایر ویژگی‌های زمان کامپایل می‌توانند از عملیات سطح بالا برای کنترل ترتیب اجرا براساس نوع پارامترها استفاده نمایند. ماکروها کنترل خود را بر کامپایل از طریق ویژگی‌های از پیش تعیین شده انجام می‌دهند ولی قادر به ایجاد انواع جدید و کنترل نوع نیستند و فقط محدود به تغییرات متنی پیش از کامپایل هستند. به زبان دیگر ماکروها کنترل خود را با استفاده از نشانه‌های از پیش تعیین شده انجام می‌دهند اما همانند قالب‌ها نمی‌توانند نشانه‌ها را خود ایجاد نمایند. قالب‌ها ابزاری برای چندریختی ایستا و برنامه‌نویسی جنریک است؛ مثلاً جایگزین معادل با استفاده از قالب‌ها برای عبارت خطرناک #define max(x, y) ((x)> (y) ? (x) : (y)) در پایین نشان داده شده‌است.
1656331
ماکرو چیست؟
قالب‌ها متفاوت با ماکروها هستند. در حالی که از هر دوی این ویژگی‌ها در زمان کامپایل برای ایجاد کامپایل شرطی استفاده می‌شوند قالب‌ها محدود به تغییرات لغوی و متنی نیستند. قالب‌ها با آگاهی از معنا و سیستم نوع در زبان استفاده شده و سایر ویژگی‌های زمان کامپایل می‌توانند از عملیات سطح بالا برای کنترل ترتیب اجرا براساس نوع پارامترها استفاده نمایند
1656332
قالب‌های برنامه نویسی چگونه هستند؟
از طریق ویژگی‌های از پیش تعیین شده انجام می‌دهند ولی قادر به ایجاد انواع جدید و کنترل نوع نیستند و فقط محدود به تغییرات متنی پیش از کامپایل هستند.
1656333
ماکروها کنترل خود را بر کامپایل از چه طریق انجام می‌دهند؟
ابزاری برای چندریختی ایستا و برنامه‌نویسی جنریک است
1656334
قالب‌ها چگونه ابزاری هستند؟
وراثت این امکان را ایجاد می‌کند که یک نوع ویژگی دیگر انواع را داشته باشد. وراثت از یک کلاس پایه می‌تواند عمومی، خصوصی یا حفاظت شده باشد. این تعیین سطح دسترسی مشخص می‌سازد آیا کلاس‌های نامربوط یا مشتق شده می‌توانند به اعضای عمومی یا حفاظت شده کلاس پایه دسترسی داشته باشند. تنها وراثت عمومی به معنای وراثت به کار رفته به صورت عموم است. دو نوع دیگر وراثت به ندرت مورد استفاده قرار می‌گیرند. اگر تعیین‌کننده سطح دسترسی حذف شود سطح دسترسی برای کلاس خصوصی و برای ساختمان به صورت عمومی تعریف می‌گردد. کلاس‌های پایه ممکن است به صورت مجازی تعریف شوند که به آن وراثت مجازی گویند. وراثت مجازی تضمین می‌کند که فقط یک نمونه از کلاس پایه وجود داشته باشد و مشکلاتی همانند مشکلات وراثت چندگانه به وجود نیاید.
می‌تواند عمومی، خصوصی یا حفاظت شده باشد
عمومی، خصوصی یا حفاظت شده
1656385
وراثت از یک کلاس پایه چه ویژگی‌هایی می‌تواند داشته باشد؟
کلاس‌های پایه ممکن است به صورت مجازی تعریف شوند که به آن وراثت مجازی گویند
1656386
وراثت مجازی چیست؟
تضمین می‌کند که فقط یک نمونه از کلاس پایه وجود داشته باشد و مشکلاتی همانند مشکلات وراثت چندگانه به وجود نیاید.
1656387
وراثت مجازی چه چیزی را تضمین می‌کند؟
وراثت چندگانه یکی از ویژگی‌های مورد بحث در ++C است. وراثت چندگانه امکان اشتقاق از چند کلاس پایه را فراهم می‌نماید که موجب به وجود آمدن گراف رابطه وراثت بسیار پیچیده‌است. به عنوان مثال «گربه پرنده» می‌تواند از کلاس «گربه» و کلاس «پستانداران پرنده» ارث برد. در زبان‌های دیگر مانند سی‌شارپ و جاوا به صورت دیگری ویژگی مشابه را پیاده‌سازی می‌نماید هر کلاس می‌تواند از چندین واسط اشتقاق یابد اما فقط یک کلاس پایه برای اشتقاق وجود دارد (واسط‌ها برخلاف کلاس پایه فقط تعریف هستند و هیچ‌گونه پیاده‌سازی را شامل نمی‌گردند).
وراثت چندگانه
1656438
یکی از ویژگی‌های مورد بحث در سی‌پلاس‌پلاس چیست؟
امکان اشتقاق از چند کلاس پایه
1656439
وراثت چندگانه چه امکانی را فراهم می‌نماید؟
موجب به وجود آمدن گراف رابطه وراثت بسیار پیچیده‌است
1656440
وراثت چندگانه موجب به وجود آمدن چه چیزی می‌شود؟
هر کلاس می‌تواند از چندین واسط اشتقاق یابد اما فقط یک کلاس پایه برای اشتقاق وجود دارد (واسط‌ها برخلاف کلاس پایه فقط تعریف هستند و هیچ‌گونه پیاده‌سازی را شامل نمی‌گردند).
1656441
در سی‌شارپ و جاوا کلاس‌های آن‌ها چگونه است؟