لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
با مثال بیاموزید: برنامه نویسی C++ - 75 مسئله حل شده [ویدئو]
Learn By Example: C++ Programming - 75 Solved Problems [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
مانند یک عموی بداخلاق، C++ ترسناک به نظر می رسد، در حالی که فقط مفید است. این 75 مثال به شما در درک آن کمک می کند. بیایید آن را تجزیه کنیم. ++C ترسناک به نظر می رسد زیرا اغلب اوقات آنچه می بینید چیزی نیست که به دست می آورید. معمولاً به این دلیل است که ++C سعی میکند به شما کمک کند، اما شما این را متوجه نمیشوید. این بخش از C به ++C منتقل میشود: اگر برنامهنویس C هستید، آنچه را که برای حرکت یکپارچه به C++ باید بدانید، بررسی میکند. اشیاء، کلاسها و برنامهنویسی شیگرا: به اصلاحکنندهها، کلاسها، اشیاء، این اشارهگر، گوچاهای تخصیص حافظه جدید/حذف و پویا دسترسی پیدا کنید. بارگذاری بیش از حد اپراتور یک موضوع به خصوص پیچیده است - C++ تقریباً تنها در همه جا اپراتورهای بارگذاری شده است. اطمینان حاصل کنید که این شما را سرگردان نمی کند. همچنین به کارهای const، static و friend عمیق بروید. وراثت در ++C به طور قابل توجهی پیچیده تر از جاوا است، بیشتر به دلیل وراثت های متعدد، و به دلیل وجود همزمان روش های مجازی و غیر مجازی. قالب ها یک تکنیک برنامه نویسی عمومی کلاسیک هستند که برای اولین بار به C++ اضافه شدند. توابع و کلاس های قالب و همچنین تخصص های قالب را درک کنید. STL - کتابخانه قالب استاندارد - فوق العاده قدرتمند است. درک خوبی از مجموعه ها، تکرار کننده ها و الگوریتم ها - اجزای اصلی STL - به دست آورید. بازیگران C++ با C-cast کاملا متفاوت هستند. درک const_cast، static_cast و dynamic_cast، و همچنین Real Time Type Identification (RTTI) و روشی که در آن تبدیلهای صریح را میتوان با استفاده از static_cast انجام داد. استثناها و مدیریت استثنا در C++. • از قدرت کامل C++ بدون ترس از پیچیدگی های زبان استفاده کنید
• از وراثت، بارگذاری بیش از حد اپراتور، الگوها، STL و تمام ویژگی های اصلی زبان C++ استفاده کنید
برنامه نویسان جاوا و سی شارپ - که برنامه نویسی شی گرا را می دانند، اما در C++ جدید هستند. افراد با تجربه برنامه نویسی قبلی در C. هیچ تجربه قبلی برنامه نویسی شی گرا مورد نیاز نیست. • C++ فوقالعاده عمیق است، و گاهی اوقات تلاش میکند تا شما - برنامهنویس - بفهمید چه میگوید * • این 75 مثال کمک خواهد کرد. هر کدام مستقل هستند، کد منبع خود را ضمیمه کرده اند، و به یک مورد خاص C++ دسترسی دارند. هر مثال ساده است، اما ساده نیست. *
سرفصل ها و درس ها
معرفی C++
Introducing C++
معرفی C++
Introducing C++
حرکت از C به C++
Moving from C to C++
C و C++ - از جهاتی شبیه به هم هستند اما در واقع بسیار متفاوت هستند
C and C++ - similar in some ways but actually very different
C در مقابل C++: نظرات متفاوت هستند - و اوه C++ دارای فضای نام است!
C vs C++: Comments are different - and oh C++ has namespaces!
فضای نام؟ سپس ما به یک عملگر وضوح محدوده نیاز داریم
Namespaces? Then we need a scope resolution operator
نه تنها بارگذاری بیش از حد تابع، بلکه ++C اجازه می دهد تا اپراتور بیش از حد بارگذاری شود!
Not just function overloading, C++ allows operator overloading as well!
مقادیر پیش فرض
Default Values
مراجع، Const و Bool
References, Const and Bool
اشیاء و کلاس ها
Objects and Classes
کلاس ها برای افراد مختلف معنای متفاوتی دارند!
Classes mean different things to different people!
کلاس ها - گروه بندی منطقی داده ها و توابع
Classes - A logical grouping of data and functions
مثال 1 و 2: یک کلاس C++ واقعا ساده تعریف کنید و آن را نمونه سازی کنید
Example 1 and 2: Define a really simple C++ class and instantiate it
مثال 3: توابع عضو یک شی را فراخوانی کنید
Example 3: Invoke the member functions of an object
مثال 4 و 5: راه اندازی و تمیز کردن با استفاده از سازنده و تخریب کننده
Example 4 and 5: Setup and clean up using constructors and destructors
مثال 6: اصلاح کننده های دسترسی
Example 6: Access Modifiers
برنامه های چند فایلی
Multi-file Programs
مثال 7: تفکیک کد به فایل های cpp. و .h
Example 7: Separating code into .cpp and .h files
مثال 7: راه اندازی وابستگی ها با چندین فایل
Example 7: Setting up dependencies with multiple files
تخصیص حافظه پویا: جدید و حذف
Dynamic Memory Allocation: new and delete
تخصیص حافظه پویا
Dynamic Memory Allocation
تخصیص حافظه C++ توضیح داده شده است
C++ memory allocation explained
استفاده از malloc و رایگان را متوقف کنید
Stop using malloc and free
new/delete را برای متغیرهای تکی با معادلهای آرایه new[]/delete[] ترکیب نکنید.
Do not mix new/delete for single variables with array equivalents new[]/delete[]
مثال 8 و 9: استفاده از malloc و رایگان را متوقف کنید، از new استفاده کنید و به جای آن حذف کنید!
Example 8 and 9: Stop using malloc and free, use new and delete instead!
مثال 10 و 11: از new[] استفاده کنید و [] را برای آرایه ها حذف کنید - هرگز جدید و جدید را ترکیب نکنید[]
Example 10 and 11: Use new[] and delete [] for arrays - never mix new and new[]
مثال 12: عملگر Placement new و نشانگر "this".
Example 12: The Placement new operator and the "this" pointer
کلاس رشته C++
The C++ string Class
کلاس رشته C++
The C++ string class
مثال 14: رشته ها
Example 14: Strings
مثال 15: وارد کردن رشته های چند خطی
Example 15: Inputing multiline strings
مثال 16: عملیات رشته ای رایج تر
Example 16: More common string operations
مثال 17: مقایسه رشته ها
Example 17: Comparing strings
مثال 18: تبدیل C++ به رشته C (و بالعکس)
Example 18: Converting C++ to C strings (and vice versa)
منابع
References
ایده اصلی مراجع
The basic idea of references
مثال 19، 20 و 21: یک مرجع ساده، یک مرجع const و تعویض C++
Example 19, 20 and 21: A simple reference, a const reference, and C++ swap
مثال 22، 23، 24، 25: مقداردهی اولیه مرجع، تخصیص مجدد، نام مستعار، تهی
Example 22, 23, 24, 25: Reference initialization, reassignment, aliasing, null
مثال 26، 27، 28، 29: ارجاع به اشاره گرها، ارجاع به عنوان انواع برگشتی
Example 26, 27, 28, 29: References to pointers, references as return types
کلمه کلیدی const
The const Keyword
مثال 30 و 31: کلمه کلیدی C++ const
Example 30 and 31: The C++ const keyword
مثال 32: const char* یا char* const؟
Example 32: const char* or char* const?
مثال 33، 34، 35، 36: روش های Const، قابل تغییر، بارگذاری بیش از حد روی const، const_cast
Example 33, 34, 35, 36: Const methods, mutable, overloading on const, const_cast
انتقال پارامترهای تابع شامل ارجاعات است
Passing function parameters const references
مثال 37: انتقال پارامترهای تابع شامل ارجاعات است
Example 37: Passing function parameters const references
کلمه کلیدی ثابت
The static Keyword
ایده اصلی استاتیک در C++
The basic idea of static in C++
مثال 38: متغیرهای عضو استاتیک
Example 38: Static member variables
مثال 39 و 40: توابع عضو استاتیک
Example 39 and 40: Static member functions
مثال 41: متغیرهای عضو ثابت
Example 41: const static member variables
کلمه کلیدی دوست
The friend Keyword
ایده اصلی دوستان در C++
The basic idea of friends in C++
مثال 42: توابع دوست
Example 42: Friend functions
مثال 43: کلاس های دوستان
Example 43: Friend classes
بارگذاری بیش از حد اپراتور
Operator Overloading
درک بیش از حد اپراتور - اپراتورهای داخلی و خارجی
Understanding operator overloading - internal and external operators
انتخاب بین پیاده سازی داخلی و خارجی
Choosing between internal and external implementations
مثال 44: بارگذاری بیش از حد عملگر +=
Example 44: Overloading the += operator
مثال 45: بارگذاری بیش از حد اپراتور +
Example 45: Overloading the + operator
مثال 46: بارگذاری بیش از حد عملگرهای ++ (و --).
Example 46: Overloading the ++ (and --) operators
مثال 47: بارگذاری بیش از حد اپراتور تخصیص
Example 47: Overloading the assignment operator
بارگذاری بیش از حد اپراتور - جریان فلش بک
Operator Overloading - Streams Flashback
مثال 48: بارگذاری بیش از حد عملگرهای <<و>>
Example 48: Overloading the << and >> operators
وراثت
Inheritance
درک وراثت - فلش بک به اشیا و کلاس ها
Understanding inheritance - Flashback to objects and classes
مثال 49 درک وراثت
Example 49 Understanding Inheritance
توضیح وراثت - I
Inheritance Explained – I
توضیح وراثت - II
Inheritance Explained – II
مثال 49: سطوح دسترسی و انواع وراثت
Example 49: Access levels and inheritance types
مثال 49: آوردن تمام مفاهیم وراثت در کد
Example 49: Bringing all inheritance concepts together in code
مثال 50، 51، 52: انواع ارث
Examples 50, 51, 52: Types of inheritance
مثال 53: توابع مجازی
Example 53: virtual functions
مثال 53 (ادامه دارد)
Example 53 (continued)
مثال 54: توابع مجازی خالص و کلاس های انتزاعی
Example 54: pure virtual functions and abstract classes
مثال 55: ارث چندگانه و سلسله مراتب الماس
Example 55: Multiple Inheritances, and a Diamond Hierarchy
مثال 56: وراثت مجازی در سلسله مراتب الماس
Example 56: Virtual inheritance in a Diamond Hierarchy
مثال 57: برش اشیاء
Example 57: Object Slicing
مثال 58: هیچ تابع مجازی در سازنده یا تخریب کننده صدا نمی زند!
Example 58: No virtual function calls in constructors or destructors!
مثال 59: ویرانگرهای مجازی راک!
Example 59: Virtual destructors rock!
مثال 60: چرا توابع مجازی هرگز نباید پارامترهای پیش فرض داشته باشند
Example 60: Why virtual functions should never have default parameters
مثال 61: پدیده عجیب پنهان شدن نام
Example 61: The strange phenomenon of name hiding
مثال 62: هرگز متدهای کلاس پایه غیر مجازی را دوباره تعریف نکنید
Example 62: Never redefine non-virtual base class methods
قالب ها
Templates
قالب ها به عنوان شکلی از برنامه نویسی عمومی
Templates as a form of generic programming
مثال 63: یک تابع قالب ساده
Example 63: A simple template function
مثال 64: لغو یک نمونه الگوی پیشفرض
Example 64: Overriding a default template instantiation
مثال 65: یک کلاس نشانگر هوشمند الگو
Example 65: A templated smart pointer class
مثال 66: تخصص الگو (جزئی یا کل)
Example 66: Template Specialization (partial or total)
STL - کتابخانه الگوی استاندارد
STL - The Standard Template Library
معرفی کتابخانه قالب استاندارد
Introducing the Standard Template Library
مثال 67: بردار STL
Example 67: The STL vector
مثال 68: تکرار کننده ها
Example 68: Iterators
مثال 69: نقشه، ظرف انجمنی
Example 69: map, an associative container
مثال 70: الگوریتم های STL
Example 70: STL algorithms
بازیگران C++
C++ Casts
بازیگران C++ بسیار سردتر از بازیگران C هستند
C++ casts are way cooler than C casts
مثال 71: const_cast
Example 71: const_cast
مثال 72: dynamic_cast و RTTI
Example 72: dynamic_cast, and RTTI
مثال 73: static_cast و کلمه کلیدی صریح
Example 73: static_cast, and the explicit keyword
استثناها
Exceptions
جابجایی استثنایی و دزدگیر
Exception handling and burglar alarm
مثال 74: استثناء پرتاب کردن
Example 74: Throwing exceptions
مثال 75: مدیریت استثناها با try/catch
Example 75: Handling exceptions with try/catch
Janani Ravi یک معمار و مهندس داده خبره Google cloud است.
جنانی مدرک کارشناسی ارشد خود را در رشته مهندسی برق از دانشگاه استنفورد دریافت کرد و برای مایکروسافت، گوگل و فلیپ کارت کار کرده است. او یکی از بنیانگذاران Loonycorn است، یک استودیوی محتوا که بر ارائه محتوای با کیفیت بالا برای توسعه مهارت های فنی متمرکز است، جایی که او عشق خود را به فناوری با اشتیاق خود به تدریس ترکیب می کند.
نمایش نظرات