آموزش برنامه‌نویسی C++

poster
پیش‌نمایش دوره

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

برگزارکننده:  مکتب‌خونه  مکتب‌خونه
مدرس دوره:
3.3 (36 رای)
سطح: مقدماتی
 پلاس
  
زمان مورد نیاز برای گذراندن دوره:  105 ساعت
مجموع محتوای آموزشی:  11 ساعت ویدئو - 93 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  14 هفته
  
حد نصاب قبولی در دوره:  75 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام

پیش‌نیاز‌ها

برای این دوره پیشنیاز خاصی وجود ندارد جز علاقه به برنامه‌نویسی و پشتکار.

 

سرفصل‌های دوره آموزش برنامه‌نویسی C++

فصل اول - Getting Started

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

  ++Introducing C
مشاهده
"04:09  
  Installing requirements,Hello World
مشاهده
"06:39  
  Include, Commnet , Cout , Semicolon,Complie Error
مشاهده
"10:20  
  کوئیز : include, Commnet , Cout , Semicolon,Complie Error
"03:00  
  0 - Programming Challenge (الزامی)
 100%    
"600:00  
فصل دوم - Basic syntax

در این فصل با دستورات و مفاهیم پایه‌ای مانند متغیرها، انواع عملگرها، عبارت انتخاب، حلقه‌ها، آرایه‌ها و … آشنا می‌شویم و از هر کدام مثال مربوطه را حل می‌کنیم. همچنین نحوه گرفتن ورودی را فرا خواهیم گرفت.

  Variable & Types
مشاهده
"11:11  
  کوئیز : Variable & Type
"07:00  
  Cin, Arithmetic Operators
مشاهده
"17:47  
  کوئیز : Cin, Arithmetic Operators
"06:00  
  Assignment Operators
مشاهده
"13:25  
  کوئیز : Assignment Operators
"03:00  
  If,Relational Operators
"17:41  
  کوئیز : If,Relational Operators
"06:00  
  Programming Challenge - 1 (الزامی)
 16.7%    
"200:00  
  While
"10:58  
  کوئیز : While
"05:00  
  Programming Challenge - 2 (الزامی)
 16.7%    
"200:00  
  Do while , Logical Operators
"18:42  
  کوئیز : Do while , Logical Operators
"05:00  
  For ,Break & Continue
"13:44  
  کوئیز : For ,Break & Continue
"04:00  
  Programming Challenge - 3 (الزامی)
 16.7%    
"200:00  
  Arrays
"12:16  
  کوئیز : Arrays
"06:00  
  Programming Challenge - 4 (الزامی)
 16.7%    
"200:00  
  Multi Dimensional Arrays
"16:42  
  کوئیز : Multi Dimensional Arrays
"04:00  
  Programming Challenge - 5 (الزامی)
 16.7%    
"200:00  
  Switch
"10:13  
  کوئیز : Switch
"04:00  
  Programming Challenge - 6 (الزامی)
 16.7%    
"200:00  
فصل سوم - Subroutines , Reusable Blocks of Code

در ادامه با مفهوم تابع و فواید آن آشنا می‌شویم و همچنین مفاهیم سربارگذاری تابع (function overloading) و مقدار پیش فرض آرگومان را یاد خواهیم گرفت.

  Functions
مشاهده
"21:48  
  کوئیز : Functions
"08:00  
  Programming Challenge - 7 (الزامی)
 25%    
"150:00  
  Programming Challenge - 8 (الزامی)
 25%    
"150:00  
  Function Prototype, Function, Overloading
"13:21  
  کوئیز : Function Prototype, Function, Overloading
"05:00  
  Programming Challenge - 9 (الزامی)
 25%    
"150:00  
  Default Arguments' Value
"11:15  
  کوئیز : Default Arguments' Value
"05:00  
  Programming Challenge - 10 (الزامی)
 25%    
"150:00  
فصل چهارم - Other Basic Syntax

در این فصل با با ادامه دستورات و مفاهیم پایه‌ای مانند شناسه‌ها، حوزه تعریف متغیرها، ثابت‌ها و … آشنا می‌شویم و در هر مبحث مثال مربوطه را حل خواهیم کرد.

  Identifier, Scope of Variables
مشاهده
"25:19  
  کوئیز : Identifier, Scope of Variables
"13:00  
  Namespace
"14:07  
  کوئیز : Namespace
"03:00  
  Programming Challenge - 11 (الزامی)
 33.3%    
"200:00  
  Templates
"09:29  
  کوئیز : Templates
"03:00  
  Programming Challenge - 12 (الزامی)
 33.3%    
"200:00  
  Const & Define
"09:08  
  کوئیز : Const & Define
"06:00  
  Programming Challenge - 13 (الزامی)
 33.3%    
"200:00  
فصل پنجم - Pointers and References

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

  Binary Numbers and computer Memory
مشاهده
"20:48  
  کوئیز : Binary Numbers and computer Memory
"08:00  
  Pointers
"25:23  
  کوئیز : Pointers
"07:00  
  Pointers and Arrays
"18:02  
  کوئیز : Pointers and array
"04:00  
  Pointers and Functions
"28:00  
  کوئیز : Pointers and Functions
"05:00  
  Programming Challenge - 14 (الزامی)
 25%    
"150:00  
  Programming Challenge - 15 (الزامی)
 25%    
"150:00  
   The New and Delete Operators
"26:03  
  کوئیز : The New and Delete Operators
"08:00  
  Programming Challenge - 1۶ (الزامی)
 25%    
"150:00  
  Reference & Call by Reference
"12:42  
  کوئیز : Reference & Call by Reference
"04:00  
  Programming Challenge - 1۷ (الزامی)
 25%    
"150:00  
  Char Arrays & Strings
"17:32  
  کوئیز : Char Arrays & Strings
"03:00  
فصل ششم - Object Oriented Programming

مفهوم برنامه‌نویسی شئ‌گرا و کلاس را توضیح خواهیم داد. با قسمت‌های مختلف یک کلاس مانند سازنده‌ها، مخرب، کلمه کلیدی this، عملگر فلش، کلمه کلیدی static، سازنده‌های کپی و در نهایت نحوه سربارگذاری عملگرها(operator overloading) برای انواع داده‌ای (کلاس) که توسط خودمان تعریف می‌شود را فرا خواهیم گرفت.

  Classes
مشاهده
"15:54  
  کوئیز : Classes
"07:00  
  Constructors & Destructors
"19:45  
  کوئیز : Constructors & Destructors
"05:00  
  Getters & Setters, Arrow Operator , The 'this' Keyword
"24:19  
  کوئیز : Getters & Setters, Arrow Operator , The 'this' Keyword
"03:00  
  The 'static' Keyword
"29:02  
  کوئیز : The 'static' Keyword
"05:00  
  Copy Constructor
"11:15  
  کوئیز : Copy Constructor
"04:00  
  Operator Overloading
"17:09  
  کوئیز : Operator Overloading
"03:00  
  پروژه Maze Game (الزامی)
 45.5%    
"300:00  
  پروژه Snake Game (الزامی)
 54.5%    
"300:00  
فصل هفتم - Inheritance & Polymorphism

در این فصل به مفهوم ارث‌بری در برنامه‌نویسی شئ‌گرا می‌پردازیم و مثال‌هایی از این مفهوم خواهیم داشت. سپس شاخص‌های دسترسی کلاس را به صورت کامل توضیح می‌دهیم و ترکیب آن با مفهوم ارث‌بری را بررسی خواهیم کرد. در ادامه به نحوه فراخوانی سازنده‌ها در مفهوم ارث‌بری می‌پردازیم و در آخر مفهوم چندریختی در فرآیند ارث‌بری را کامل توضیح می‌دهیم.

  Inheritance
"09:06  
  کوئیز : Inheritance
"03:00  
  Access Specifiers, Constructors'Call
"19:39  
  کوئیز : Access Specifiers, Constructors'Call
"04:00  
  Polymorphism
"23:52  
  کوئیز : Polymorphism
"05:00  
  پروژه Students Portal (الزامی)
 100%    
"600:00  
فصل هشتم - Bonus

در فصل آخر، به بررسی و یادگیری مباحث پایانی مانند عملگر سه‌گانه، عملگرهای بیتی، اولویت عملگرها، نحوه کار با فایل‌ها در زبان C++ و معرفی و آشنایی با کتابخانه‌های استاندارد پراستفاده خواهیم پرداخت.

  Ternary Operator,Bitwise Operators
"33:37  
  کوئیز : Ternary Operator,Bitwise Operators
"05:00  
  Operator precedence
"15:36  
  کوئیز : Operator precedence
"03:00  
  Files
"28:45  
  کوئیز : Files
"03:00  
  Programming Challenge - 18 (الزامی)
 100%    
"600:00  
  Standard Libraries,Vector,Set,map
"24:18  
  کوئیز : Standard Libraries,Vector,Set,map
"04:00  

ویژگی‌های دوره

گواهی‌نامه مکتب‌خونه
گواهی‌نامه مکتب‌خونه

در صورت قبولی در دوره، گواهی نامه رسمی پایان دوره توسط مکتب‌خونه به اسم شما صادر شده و در اختیار شما قرار می گیرد.

مشاهده نمونه گواهینامه

ویژگی‌های دوره

خدمات منتورینگ
خدمات منتورینگ

خدمات منتورینگ به معنای برخورداری دانشجو از راهنما یا پشتیبان علمی در طول گذراندن دوره می‌باشد. این خدمات شامل پاسخگویی به سوالات آموزشی(در قالب تیکتینگ)، تصحیح آزمون یا پروژه های دوره و ارائه باز خورد موثر به دانشجو می‌باشد.

ویژگی‌های دوره

پروژه محور
پروژه محور

این دوره طوری طراحی شده است که محتوای آموزشی دوره حول چند پروژه واقعی و کاربردی هستند تا یادگیری دانشجو در طول دوره به کاربردهای عملی تبدیل شود و به این ترتیب بالاترین سطح یادگیری را فراهم نمایند.

ویژگی‌های دوره

تمرین و آزمون
تمرین و آزمون

با قرار گرفتن تمرین ها و آزمون های مختلف در طول دوره، محیطی تعاملی فراهم شده است تا بهره گیری از محتوا و یادگیری بهتر و عمیق تر شود.

ویژگی‌های دوره

تالار گفتگو
تالار گفتگو

شما می توانید از طریق تالار گفتگو با دیگر دانشجویان دوره در ارتباط باشید، شبکه روابط حرفه ای خود را تقویت کنید یا سوالات مرتبط با دوره خود را از دیگر دانشجویان بپرسید.

ویژگی‌های دوره

تسهیل استخدام
تسهیل استخدام

در صورت قبولی در دوره، شما می‌توانید با وارد کردن اطلاعات آن در بخش دوره‌های آموزشی رزومه‌ساز «جاب ویژن»، تایید مهارت خود را در قالب اضافه شدن «مدال مهارت» به روزمه آنلاین خود دریافت نمایید. این مدال علاوه بر ایجاد تمایز در نمایش رزومه شما، باعث بالاتر قرار گرفتن آن در لیست انبوه رزومه‌های ارسالی به کارفرما شده و بدین ترتیب شانس شما را برای استخدام در سازمانهای موفق و پر متقاضی افزایش می‌دهد.

بررسی فرصت‌های شغلی

درباره دوره

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

همچنین در این دوره تمرینات و نبز یک پروژه‌ی کاربردی جهت افزایش توانایی برنامه‌نویسان برای حل مسائل واقعی، کسب اعتماد به نفس و نیز آماده شدن جهت ورود به جمع برنامه‌نویسان حرفه‌ای این زبان جهت کار در محیط‌های عملیاتی، در نظر گرفته شده است.

 
هدف از یادگیری دوره آموزش C++ چیست؟

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

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

 
دوره آموزش C++ مناسب چه کسانی است؟

  • کسانی که برای اولین بار می‌خواهند یک زبان برنامه‌نویسی یاد بگیرند.
  • کسانی که با زبان C آشنایی دارند و قصد تکمیل مهارت‌های برنامه‌نویسی خود با زبان C++ را دارند.
  • کسانی که به طراحی و توسعه نرم‌افزارهای کاربردی و سریع علاقه‌مندند.
  • کسانی که دوست دارند بازی‌های ویدئویی زیبا بسازند.
  • کسانی که قصد دارند برنامه‌نویسی را با یک زبان همه‌منظوره و ساده شروع کنند.
  • بعد از فراگیری دوره آموزش برنامه نویسی C++ چه مهارت‌هایی کسب خواهید کرد؟
  • آشنایی با انواع داده‌ها، عملگرها و دستورات شرطی If، switch و حلقه‌های for و while
  • آشنایی با آرایه‌ها، رشته‌ها و اشاره‌گرها
  • آشنایی با توابع و استفاده از آن‌ها
  • تسلط بر کلاس‌ها، برنامه نویسی شی‌گرا و ویژگی‌های وراثت و چندریختی
  • یادگیری چگونگی ساخت قالب‌ها در زبان C++ و C


پیشنیازها و نرم‌افزارهای لازم برای فراگیری دوره آموزش C++ چیست؟

دوره آموزش C++ مکتب‌پلاس از پایه شروع به آموزش C++ می‌کند. از همین رو، شرکت در این دوره هیچ پیش‌نیازی ندارد. برای شروع برنامه نویسی به زبان C++ باید با مبانی کامپیوتر و اجزای آن آشنایی داشته باشید که استاد دوره به توضیح مقدمات برنامه‌نویسی می‌پردازد.

برنامه نویسی C++ در ویندوز به یک ویرایشگر متن مانند wordpad و یک کامپایلر نیاز دارد. برای راحتی بیشتر شما می‌توانید یک نرم‌افزار IDE دانلود و نصب کنید تا نوشتن و کامپایل کدها را تنها در همین محیط انجام دهید. ما به شما نرم افزار CodeBlocks را پیشنهاد می‌کنیم. دانلود و نصب این نرم‌افزار هم توسط استاد دوره به شما آموزش داده می‌شود.

 

ویژگی های متمایز دوره آموزش برنامه نویسی C++ مکتب‌خونه چیست؟

اکثر دوره‌های آموزشی مکتب‌پلاس پروژه‌محور است. دوره آموزش برنامه نویسی c++ هم از صفر تا صد در قالب تمرینات و پروژه‌های عملی به شما عزیزان آموزش داده می‌شود. بدین ترتیب می‌توانید همزمان با یادگیری مباحث تئوری نحوه استفاده از آن‌ها را هم فرابگیرید.

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

درباره استاد

maktabkhooneh-teacher مسعود کاظمی

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

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

مشاهده پروفایل و دوره‌‌های استاد

نظرات کاربران

تا کنون نظری برای این دوره ثبت نشده است. برای ثبت نظر باید ابتدا در دوره ثبت نام کرده و دانشجوی دوره باشید.
تقی شادمان 1403-02-27
خیر نظری ندارم فقط برای من تازه کار خیلی کیج کننده است
امیرحسین طاق درهء 1403-01-27
اصولی و گام به گام سر راست و جذاب
فرزاد صفوی 1399-08-30
سلام و وقت بخیر من برای شروع کدنویسی در انجین بازیسازی unreal engine، این دوره رو نگاه کردم که فوق العاده مفید بود برای من. فقط بنظرم یکسری از ویدیو ها تایمشون الکی طولانی بودن و میشد کوتاه تر باشن. بهرحال استاد این دوره تلاش کردن که خیلی کامل مباحث رو توضیح بدن و چیزی رو از قلم نندازن که از این نظر خیلی خوب بود
رضا مرادپور 1399-08-26
دوره عالی بود
محمد توکل پورصالح 1399-08-20
سلام خدمت دوستان و همه مکتب خونه ای های عزیز،این دوره دوره خوبی بود و استاد دوره به مباحث تسلط داشت و میشه گفت برای کسایی که بخوان از بیس c++ رو شروع کنن،دوره مفیدیه،از اشکالات این دوره میشه به فاصله زیاد بین تمرینات و پروژه اشاره کرد،البته از نکات مثبت پروژه ها ، تشویق به تحقیق و یادگیری data structures بود که به نظرم خیلی خوب بود.
احمد اسدی امجد 1399-08-20
باتشکر از مدرس دوره و مکتب خونه ... تدریس مدرس دوره خوب بود.
رضا کدخداشهریاری 1399-04-16
سلام بسیار دوره مفید و خوبی بود. متشکر از آقای کاظمی بخاطر توضیحاتشون فقط سطح پروژه ها خیلی بالاتر از تدریس ها بود و یه بخش هایی بود که به کد نویسی های ریز برای جا افتادن نیاز داشت که بین فیلم ها گنجانده نشده بود و به کوئیز اکتفا شده بود با این حال به قدری تدریس ایشون خوب بود که 5 ستاره بدم
محمد مهدی حایری مهریزی 1399-04-11
دوره مفیدی بود , مرسی ^-^
عرفان سهرابی نیک 1402-11-04
واسه سطح مقدماتی کاملا مناسبه، هرچی نیاز دارید یاد بگیرید تو این دوره تدریس شده. ممنون از گروه خوب مکتب خونه.
بهاره بهادرعزتی 1401-05-05
با سلام من فعلا تا ابتدای فصل ششم پیش رفتم، تا کنون که مطالب برای من بسیار عالی بوده،از نحوه تدریس استاد بسیار راضی هستم فقط تاخیر در تصحیح وجود. دارد با نشکر
راضیه جعفری 1399-08-25
سلام.وقت شما بخیر. دوره خوبی بود. هم روش تدریس مدرس خوب بود و هم اینکه چالش های زیادی که طراحی شده بود به تثبیت مطالب کمک میکرد، ولی به نظرم اگه روی فصل هفت و مرتبط با پروژه ای که داده بودن مطالب آموزشی بیشتری قرار داده شده بهتره و اینکه کمی چالش های بیشتری برای مباحث مهم شیء گرایی قرار داده شده هم خوبتر میشه.در هر حال دوره مفیدی هست و به دوستان علاقه مند توصیه میکنم شرکت کنن. با تشکر از شما.
پدرام دولتی 1399-08-20
الان که دارم نظر میدم فصل ۵ رو تموم کردم تا الان که دوره خوبیه بنظرم با بیان استاد مشکلی ندارم ولی خیلی کند حرف میزنه که مشکلی نیست چون موقع دیدن ویدیو سرعت پخش رو زیاد میکنم. بعضی درس ها رو باید دوبار ببینم تا مطلب برام جا بیفته مثل پوینترا تو فصل ۵. در کل خیلی شسته رفته و موثر مطالب تدریس شده و اینکه با چالش های برنامه نویسی همراهه فوق العاده‌س خصوصا اینکه سریع تصحیح میشه در کل راضی ام ممنون از استاد و سایت مکتب خونه
مریم نصیری 1402-08-02
بجز فصل ۶ و ۷ باقی دوره عالی بود. تمرین های این دو فصل خیلی سخت بودن کاش قبل از اونها برای ایجاد آمادگی چند تا تمرین آسون تر قرار می‌گرفت.
علی رحیمی مقدم 1400-01-24
برخی از پروژه ها واقعا سخت بودند و با مباحث مطرح شده تناسبی نداشتند.
مکتب‌خونه
علی عزیز؛ از اینکه نظر خود را با ما در میان گذاشتید صمیمانه سپاسگزاریم. لطفا در صورت امکان با ارسال جزییات بیشتر ما را در ارتقا سطح کیفی خدمات یاری رسانید. info@maktabkhooneh.org
سمیه قره داغی 1399-10-07
استاد بسیار با مهارت تدریس میکنند که از ایشان ممنونم. درمورد ساختار کورس: چالش ها در کیفیت یادگیری بسیار موثر بود اما متاسفانه دقیقا مباحث سخت تر مثل فصل ششم - Object Oriented Programming و فصل هفتم - Inheritance & Polymorphism هیچ چالشی نداشت و دو پروژه بسیار متفاوت با چالش ها داشتند که با توجه به مطالب تدریس شده من حتی نمیدانستم از کجا و چطور شروع کنم! این تغییر روال از فصل ششم به بعد که اصل آبجکت اورینتد شروع میشد کیفیت یادگیری را بسیار پایین میاورد. به شخصه برای من به اندازه مباحث قبلی جا نیفتاد و مبحث header هم اصلا تدریس نشد که در مبحث کلاس ها بسیار مهم است. همچنین اگر در پاسخ چالشهایی که اشتباه انجام میدادیم اگر کد صحیح را در اختیارمان قرار میدادید در یادگیری موثر تر بود. من تقریبا در تمام چالش ها نمره کامل گرفتم به جر چالش 14 که آخرش هم متوجه نشدم پاسخ صحیح چه بود و در تالار گفتگو هم دو مدل جواب دادنم را حتی مطرح کردم که انگار توسط ربات یک پاسخ مشترک داده شده بود و اصلا کمک نمیکرد بدانم کدم یا روشم درست است یا نه تا ایراد کارم را یاد بگیرم، چون برنامه نویسی، تئوری پاسخ دادن نیست و باید کد درست باشد. فصل copy constructor بسیار ضعیف و کاملا تئوری بدون یک خط کد مثال ارائه شد.
مکتب‌خونه
سمیه عزیز؛ از اینکه نظر خود را با ما در میان گذاشتید صمیمانه سپاسگزاریم. موارد مطرح شده جهت بررسی بیشتر به بخش مربوطه ارسال شد.
1
2

دوره‌های پیشنهادی

سوالات پرتکرار

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

سوالات پرتکرار

آیا گواهی‌نامه‌های دانشگاهی به صورت رسمی و توسط دانشگاه مربوطه صادر می‌شود؟
بله؛ گواهی نامه ها توسط دانشگاه مربوطه و با امضای رئیس دانشگاه یا مسئول مربوطه که حق امضای گواهی نامه ها را دارد صادر می شود و گواهی نامه معتبر دانشگاه است که به اسم هر فرد صادر می شود.

سوالات پرتکرار

حداقل و حداکثر زمانی که می توانم یک دوره را بگذرانم چقدر است؟
برای گذراندن دوره حداقل زمانی وجود ندارد و شما می توانید در هر زمانی که مایل هستید فعالیت های مربوطه را انجام دهید. برای هر دوره یک حداکثر زمان تعیین شده است که در صفحه معرفی دوره می توانید مشاهده کنید که از زمان خرید دوره توسط شما تنها در آن مدت شما از ویژگی های تصحیح پروژه ها توسط پشتیبان و دریافت گواهی نامه بهره مند خواهید بود.

سوالات پرتکرار

در صورت قبولی در دوره، آیا امکان دریافت نسخه فیزیکی گواهی نامه دوره را دارم؟
خیر، به دلیل مسائل زیست محیطی و کاهش قطع درختان، فقط نسخه الکترونیکی گواهی‌نامه در اختیار شما قرار می‌گیرد

سوالات پرتکرار

پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟
بله؛ پس از سپری شدن مدت زمان دوره شما به محتوای دوره دسترسی خواهید داشت و می توانید از ویدئوها، تمارین، پروژه و دیگر محتوای دوره در صورت وجود استفاده کنید ولی امکان تصحیح تمارین توسط پشتیبان و دریافت گواهی نامه برای شما وجود نخواهد داشت.

برنامه نویسی ++C و تاریخچه آن

بسیاری از برنامه‌های کاربردی و ضروری در دنیای IT به وسیله زبان برنامه نویسی C++ نوشته شده‌اند. Microsoft Office، سیستم عامل Windows، بسیاری از آنتی ویروس‌ها، نرم افزارهای گرافیکی و موتورهای بازی‌سازی و همینطور نرم‌افزار بسیاری از سیستم‌های Embedded و سرورهای مهم تنها مثال‌هایی هستند که نشان‌دهنده اهمیت این زبان برنامه‌نویسی هستند.

 برنامه نویسی C++ طیف بسیار وسیعی از کاربردها را شامل می‌شود. از برنامه‌های بسیار کم حجم و کوچک تا برنامه‌های با حجم بالا و گرافیک سنگین. همچنین هرجا که صحبت از کارایی و استفاده بهینه از منابع سیستم به میان می‌آید پای این زبان به وسط کشیده می‌شود. همینطور نوشتن برنامه های Multi Platform یکی دیگر از نیازهایی است که با استفاده از این زبان و دنیایی از ابزارها و کتابخانه‌های نرم افزاری در کنار آن پاسخ داده می‌شود.

کار بر روی زبان برنامه‌نویسی سی پلاس پلاس c++ از سال 1979 شروع شد و شخصی به نام استروس‌تروپ متوجه شد که سیمولا برای طراحی برنامه‌های بسیار بزرگ مناسب می‌باشد. اما در ادامه متوجه این موضوع گردید که استفاده از این ویژگی بسیار عملکرد کندی را به همراه خود خواهد آورد.

در ابتدا کار با مشکل هسته یونیکس مواجه بودیم ولی استروس‌تروپ با استفاده از تجربیات خود در زمینه‌ی زبان c، توانست ویژگی‌های سیوملا را توسعه دهد.

در سال 1983 زبان برنامه نویسی c جایگاه خود را به زبان c++ واگذار نمود و پس از آن زبان برنامه‌نویسی c++ با ویژگی‌های بسیار زیادی رو به رو گردید اگر بخواهیم به بخشی از این ویژگی‌ها اشاره کنیم، باید حتما موارد زیر را خاطر نشان شویم:

  • توابع مجازی
  • سربارگزاری عملگر
  • نام تابع
  • ارجاعات
  • ثابت‌ها
  • کنترل حافظه توسط کاربر
  • ارث بری‌های چندگانه
  • اعضای ثابت تابع

همچنین دیگر ویژگی‌های زبان سی پلاس پلاس c++ که در سال 1990 به صورت کامل منتشر گردید.

نام دیگری که می‌توان برای زبان برنامه نویسی c++ در نظر بگیریم که در گذشته به این نام نیز شناخته می‌شد، زبان c با کلاس بود. در حال حاضر همان‌طور که می‌دانید هنوز زبان برنامه‌نویسی c++ را به عنوان یکی از ابر زبان‌های برنامه‌نویسی می‌شناسند.

زبان c++ یک زبان برنامه‌نویسی سطح میانه می‌باشد و برای سیستم عامل‌هایی همچون ویندوز و mac و یونیکس قابلیت اجرایی دارد. ویژگی‌هایی در برنامه نویسی c++ تعریف شده است که در زبان برنامه‌نویسی سی نیز از این ویژگی‌ها استفاده گردید. یکی از این ویژگی‌ها که می‌شود در مورد آن صحبت کنیم، تعریف for می‌باشد.

با این حال ویژگی‌‌هایی در زبان سی وجود دارد که در واقع در زبان برنامه‌نویسی c++ قرار نگرفته است. از این نوع ویژگی‌ها می‌توانیم به ماکروهای قابل تغییر اشاره کنیم. ناگفته نماند که برخی از این ویژگی‌ها ممکن است سبب ناهماهنگی در بین این دو زبان برنامه‌نویسی گردد. 

 

برنامه نویسی ++C را بیشتر بشناسید

زبان برنامه‌نویسی ++C به عنوان یک زبان قدرتمند و معروف شناخته شده است. این زبان شما را قادر می‌سازد تا روی نحوه استفاده از منابع کامپیوتر کنترل کامل داشته باشید. سرعت و بهینگی این زبان باعث شده است تا از آن در نوشتن و گسترش بازی‌ها، موتورهای بازی و اپلیکیشن‌های دسکتاپ بسیاری استفاده شود.

قدرت بزرگ این زبان در نحوه مقیاس پذیری آن می‌باشد و اپلیکیشن‌هایی که استفاده زیادی از منابع دارند با آن نوشته می‌شوند. مثلا اپلیکیشن‌های گرافیکی منابع زیادی را استفاده می‌کند و به همین خاطر هست که بیشتر بازی‌های سه‌بعدی جذاب با این زبان نوشته شده‌اند.


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

این زبان در بازار کار هم خواهان زیادی دارد. اگر می‌خواهید بازی بنویسید به احتمال زیاد مجبور به فراگیری این زبان خواهید شد. برای گسترش اپلیکیشن‌های دسکتاپ به صورت بهینه، به ++C نیاز دارید. حتی کمپانی‌های بزرگی مانند facebook هم برای بهینه کردن اپلیکیشن‌هایشان به برنامه‌نویس ++c نیاز دارند.


در نهایت با رشد واقعیت مجازی (virtual reality)، برای نوشتن اپلیکیشن‌های شگفت‌انگیز بصری در این حوزه، برنامه‌نویسان این زبان بیش از پیش در بازار کار شانس و اقبال دارند و از این لحاظ زبان ++C آینده بسیار درخشانی دارد.

 

کاربرد برنامه‌نویسی به زبان C++ چیست؟

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

 نام برنامه نویسی سی پلاس پلاس C++ دقیقا نشان‌دهنده ماهیت تکاملی زبان C است و همانطور که می‌دانید سی پلاس پلاس عملگر افزایشی C را نشان می‌دهد. کاربرد زبان برنامه نویسی C++ بسیار گسترده است؛ از این زبان برای توسعه انواع نرم‌افزارهای فنی و تجاری استفاده می‌کنند.

C++ برنامه نویسی شی گرا را ارائه می‌دهد که در C وجود ندارد. در واقع زبان C++ از چهار ویژگی اصلی برنامه نویسی شی گرا پشتیبانی می‌کند: کپسوله‌سازی، چندریختی، تجرید و وراثت. این ویژگی‌ها باعث شده است که از سی پلاس پلاس در طیف وسیعی از برنامه‌ها استفاده شود، مانند:

  • سیستم‌عامل‌ها و برنامه‌نویسی سیستم مانند سیستم‌عامل مبتنی بر لینوکس (از جمله اوبونتو)
  • مرورگرها مانند کروم و فایرفاکس
  • گرافیک و موتورهای بازی مانند فتوشاپ، بلندر، موتور غیرواقعی.
  • موتورهای پایگاه داده مانند MongoDB، MySQL، Redis و غیره.
  • سیتم‌های توزیع شده و ابری
     

ویژگی‌های زبان برنامه نویسی C++:

C++ یکی از محبوب‌ترین زبان‌های برنامه‌نویسی است. علاوه بر کاربردی بودن این زبان، سایر ویژگی‌های آن این محبوبیت را ایجاد کرده است. بعضی از ویژگی‌های زبان برنامه نویسی C++ عبارتند از:

 

ساده:

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

 

سرعت اجرا:

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

 

شی گرایی:

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

 

زبان کامپایل‌شده:

زبان سی پلاس پلاس یک زبان کامپایل‌شده است که این ویژگی در سرعت آن نقش اساسی دارد.

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

 

سرفصل‌های دوره آموزش C++ چیست؟

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

در انتهای فصل‌ها تمریناتی برایتان درنظر گرفته شده و یک پروژه جامع در انتهای دوره برای شما تعریف می‌شود. این تمرینات و پروژه‌ها مهارت شما را برای حل مسائل واقعی افزایش می‌دهد. همچنین می‌تواند باعث افزایش اعتماد به نفستان برای ورود به برنامه‌نویسان حرفه‌ای این زبان و ورود به بازار کار شود. 

 

فصل اول:‌ مباحث مقدماتی

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

 

فصل دوم: دستورات شرطی و حلقه‌ها

در برنامه‌نویسی همیشه لزومی ندارد که تمام دستورات نوشته‌شده به ترتیب اجرا شوند. اغلب اوقات لازم است دستورات در صورت برقراری شرط‌هایی اجرا شوند؛ اینجاست که کاربرد دستورات شرطی و حلقه‌ها در برنامه‌نویسی نمایان می‌شود. در فصل دوم از دوره C++ آموزش دستورات if ،switch و حلقه‌های while و for به شما عزیزان داده می‌شود. در انتهای فصل هم تمریناتی برای کار با دستورات شرطی و حلقه‌ها در اختیار شما قرار می‌گیرد.

 

فصل سوم: آرایه‌ها، رشته‌ها و اشاره‌گرها

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

 

فصل چهارم: ساختمان‌ها و داده‌های شمارشی

ساختمان‌ها یا structure برای تعریف یک موجودی بسیار پرکاربردند. هنگامی که متغیرهای یک موجودی انواع مختلفی از داده‌ها را شامل می‌شوند، باید از ساختمان‌ها استفاده کرد. ساختمان به شما اجازه می‌دهد که مانند آرایه‌ها مجموعه‌ای از داده‌ها را در آن ذخیره کنید؛ اما با این تفاوت که داده‌ها در آرایه باید هم‌نوع باشند ولی در ساختمان این اجبار وجود ندارد. در این فصل به طور کامل به بررسی ساختمان‌ها می‌پردازیم. به علاوه داده‌های شمارشی را در این فصل شرح می‌دهیم.  

 

فصل پنجم: توابع

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

 

فصل ششم: حوزه تعریف متغیرها و فضای نام

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

 

فصل هفتم: مباحث تکمیلی برنامه‌نویسی شئ‌گرا

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

 

فصل هشتم: مباحث تکمیلی برنامه‌نویسی شئ‌گرا

برای بهره‌گیری کامل از کلاس‌ها باید بتوانید تمام اجزای آن را بشناسید و با آن‌ها کار کنید. اعضای استاتیک کاربرد ویژه‌ای در برنامه نویسی شئ گرا دارند. علاوه بر اعضای استاتیک، اعضایی در کلاس‌ها وجود دارند که به صورت private تعریف شده‌اند. همانطور که از اسمشان پیداست، دسترسی به این اعضا تنها داخل همان کلاس امکان‌پذیر است. البته راه‌هایی وجود دارد که بتوانید در توابع و کلاس‌های دیگر هم از آن‌ها استفاده کنید. بنابراین در این فصل از آموزش برنامه نویسی C++ به توضیح توابع و کلاس‌های دوست (friend) می‌پردازیم.

 

فصل نهم: قالب‌ها

ازجمله قابلیت‌های مهم و قدرتمند زبان سی پلاس پلاس می‌توان به قالب‌ها اشاره کرد. قالب‌ها به شما این امکان را می‌دهد که بتوانید توابع را بدون در نظر گرفتن نوع داده ورودی آن بنویسید. این کار کدنویسی را برایتان راحت‌تر و توسعه نرم‌افزارها را سریع‌تر می‌کند. بنابراین در این فصل با کمک مثال‌های کاربردی به آموزش کامل قالب‌ها و چگونگی کار با آن‌ها می‌پردازیم. 

 

فصل دهم: پروژه پایانی

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

صفحات پربازدید
poster
پیش‌نمایش دوره
  
برگزار کننده:  مکتب‌خونه
  
زمان مورد نیاز برای گذراندن دوره:  105 ساعت
مجموع محتوای آموزشی:  11 ساعت ویدئو - 93 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  14 هفته
  
امتیاز شما:  0 %
  
حد نصاب قبولی در دوره:  75 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام