برنامه نویسی سی پلاس پاس یک زبان شی گرا و همه منظوره می باشد که دارای قابلیت های زبان های سطح پایین مانند مدیریت حافظه و نیز ویژگی های زبانهای سطح بالا را داراست.
قابلیت های این زبان به گونه است که امروزه برای تولید برنامه های سیستمی و کاربردی استفاده می شود. کتابخانه های زبان سی پلاس پلاس بسیار غنی بوده و می تواند نیازهای برنامه نویسان را بر طرف نماید.
در این مجموعه فیلم آموزش برنامه نویسی پیشرفته C++ دانشگاه تهران را برای شما ماده کرده ایم که مدرس این دوره رامتین خسوری عضو هیئت علمی دانشگاه تهران می باشد که سعی در آموزش مفاهیم برنامه نویسی شی گرا برای دانشجویان را دارد.
درباره سی پلاس پلاس :
++C توسط بییارنه استراستروپ ریاضیدان دانمارکی در سال ۱۹۷۹ در آزمایشگاههای بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را «C با کلاس» (C With Classes) نامگذاری نمود. در سال ۱۹۸۳ به ++C تغییر نام داد. توسعه با اضافه نمودن کلاسها و ویژگیهای دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثناء انجام شد.
تاریخچه زبان C++ :
استراستروپ کار بر روی زبان «C با کلاس» را در سال ۱۹۷۹ آغاز کرد. ایدهٔ ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراستروپ خطور نمود.
او متوجه شد که سیمولا دارای ویژگیهایی مناسب برای ساخت برنامههای بسیار بزرگ است اما برای استفادهٔ عملی بسیار کند است اما بیسیپیال با وجود سرعت بسیار زیاد برای ساخت برنامههای بزرگ بسیار سطح پایین است. زمانی که استراستروپ کار خود را در آزمایشگاههای بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته یونیکس با توجه به محاسبات توزیع شده روبرو شده بود.
با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگیهای سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و در سطح گستردهای در حال استفاده بود. علاوه بر C و سیمولا زبانهای دیگری مانند ALGOL ۶۸، ADA، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت.
در ابتدا ویژگیهای کلاس، کلاسهای مشتق شده، کنترل نوع قوی، توابع درونخطی و آرگومانهای پیشفرض از طریق Cfront به C اضافه شد. اولین نسخهٔ تجاری در سال ۱۹۸۵ ارائه شد.
سر فصل های آموزش برنامه نویسی سی پلاس پلاس پیشرفته دانشگاه تهران :
– مقدمه درس
– مفاهیم مقدماتی زبان ++C
– طراحی بالا به پایین
– مبانی توابع بازگشتی
– پردازش بازگشتی لیست ها
– عقب گرد (backtracking)
– مقدمه ای بر شی گرایی
– پیاده سازی کلاس ها
– شبیه سازی حرکت توپ در میز
– اعضای ایستای کلاس
– سربارگذاری عملگرها
– رسیدگی به خطاها (بخش اول)
– رسیدگی به خطاها (بخش دوم)
– وراثت
– چندریختی
مطالعه موردی وراثت
– مقدمه ای بر تحلیل و طراحی شیء گرا
– لیست پیوندی – روابط بازگشتی – کار با فایل ها – و…..