Advanced C++ Programming

Advanced C++ Programming

This course broadens the skills of a C++ language programmer by examining sophisticated modern C++ concepts such as templates, auto variables,  exceptions, memory management, smart pointers advanced inheritance issues, disambiguation of overloaded functions, private and protected inheritance, binary i/o and class libraries, Lambda function.

Module 1 – What You Should Already Know (Brief review)

  • The language of Object Orientation
  • A typical C++ class, a string class
  • Issues regarding member functions 
  • Relationships 
  • Simple C++ I/O 
  • The uses of const

 

Module 2 – Parameterized Types: Templates

  • Templates 
  • Name space
  • Overloading functions  
  • Template functions 
  • Specializing a template function 
  • Disambiguation under specialization 
  • Template classes 
  • An array template class 
  • Instantiating a template class object 
  • Rules for templates 
  • Non member function w/ a template argument 
  • Friends of template classes 
  • Templates with multiple type parameters 
  • Comments regarding templates

 

Module 3 – Relations of All Kinds

  • Uses of Member Initialization Lists 
  • Initialization lists under composition and under inheritance
  • Initialization lists w/ Multiple Inheritance (MI)
  • Initialization with MI and composition 
  • Efficiency 
  • Constructors and composition 
  • Designing for inheritance 
  • Public inheritance and Private inheritance 
  • Private inheritance vs. composition 
  • Using relationships 
  • Associations

 

Module 4 – Multiple Inheritance, Abstract, Pure virtual functions

  • Multiple inheritance Overview
  • Ambiguities 
  • Virtual base classes 
  • Member initialization lists with MI 
  • Designing for inheritance

 

Module 5 – Data Structures

  • Introduction to Data Structure
  • A simple List 
  • Implementation of the list functions 
  • Layering type safe classes upon List 
  • A template List class 
  • Iterators 
  • A template iterator 
  • Stack and Queue classes 
  • Vectors, auto
  • Lambda function – predicates
  • A derived template array class

 

Module 6 – Function Pointers

  • Why have function pointers? 
  • Smart pointers – advantages
  • Passing functions as arguments 
  • Registering functions 
  • Auto in function – return value
  • Auto iterator
  • Callback functions 
  • A class with a callback object 
  • Registration of exceptions handlers

 

Module 7 – Exceptions

  • What are exceptions? 
  • Traditional approaches to error handling 
  • A simple exception handler 
  • Multiple catch blocks 
  • The exception specification list 
  • Re-throwing an exception 
  • Cleanup 
  • Exception matching 
  • Inheritance and exceptions 
  • Resource allocation 
  • Constructors and exceptions 
  • Destructors and exceptions 
  • Catch by reference 
  • Standard exceptions

 

Module 8 – The C++ Standard Template Library

  • New features 
  • The Standard Template Library 
  • STL Components 
  • Iterators 
  • Examples: vector, list, set, map, find, merge, accumulate
  • Function objects 
  • Adaptors
  • Ambiguities

 

Module 10 – File I/O

  • Error checking 
  • Overloading << and >> 
  • Formatted I/O 
  • Disk files 
  • Examples of seekg, tellg, and close 
  • Reading and writing objects to the disk 
  • Internal transmission of data 
  • A larger I/O example: Spell checker 
  • Treating a file as an array

Experience in C++ Programming

5 days (40 hours)

השתתפות ב80% מהקורס

לשיחה / תאום פגישה עם יועץ לימודים:

  • הנני מעוניין/ת שנציג של מכללת אינטרביט יצור עימי קשר וישלח לי מידע רלוונטי על קורסים והשתלמויות של המכללה

תלמידים ונבחנים יקרים,

בעקבות המצב המשרדים, הכיתות ומרכז הבחינות סגורים לקבלת קהל. 

אנחנו ממשיכים בפעילות עם קורסים מקוונים במגוון רב של תחומים. להרשמה לקורסים מקוונים ניתן להשאיר  פרטים כאן .

לשאלות בכל נושא אחר ניתן לשלוח מייל ל info@interbit.co.il

אנא שמרו על עצמכם ועל יקירכם.

מקווים לחזור לשגרה בריאה במהירה.

משפחת אינטרביט