C++ Advanced

Course Outline Outline
Reading Material Introduction to Object-Oriented Concepts
DayLabSharing
1 1
  • From modular concept to OOT: The paradigm shift
  • Object
  • Identity
  • Attributes
  • Behavior
  • Relationship
  • Operation
  • Method
  • Abstraction
  • Classification
  • Encapsulation
  • Class
  • Abstract Class
  • Taxonomy
  • Generalization
  • Specialization
  • Multiplicity
  • Inheritance
  • Multiple Inheritance
  • Instantiation
  • Information Hiding
  • Polymorphism
  • Part-Of relationship
  • Foundation Classes
2
  • From struct to class
  • Access Modifiers: private, protected, and public
  • Data members
  • Member Functions
  • Object Instantiation
  • this keyword
  • static members
3
  • Constructors
  • Default constructor
  • Parameterless Constructor
  • Use of member initialization list
  • Destructor
  • Default Destructor
4
  • Inheritance: The support of reusability
  • How to and why to involve superclass constructor?
  • Multiple inheritance
  • Conflict resolution
  • private, protected, public, and virtual inheritance
  • Generic reference
2 5
  • Function and operator overloading
  • Rules for Operator Overloading
  • Rationale for Operator Overloading
  • Overloading Member Functions
  • Overloading Non-Member Functions
  • Overloading Type Cast (conversion) Operator
  • Overloading operator new and delete
  • Overloading [ ]
  • Overloading Increment and Decrement Operators
  • Polymorphism and virtual functions
  • The late binding issues
6
  • Why use friend functions?
  • Syntax
  • Access privilege
  • Avoid violation of Information Hiding principal
3 7
  • Abstract Class and how it happened?
  • The Pure Virtual Function
  • Prohibited Instantiation
  • Methods enforcement
8
  • Deep Vs. shallow copying
  • Default objects initialization from existing objects
  • Object assignment
4 9
  • Inline functions
  • Inline functions Vs. macro functions
  • Inline member functions
  • Method implementation out of the class
10
  • Template - Parameterize Types
  • Template functions
  • Specializing a template function
  • Template classes
  • An array template class
  • Instantiating a template class object
  • Rules for templates
  • Non member function with a template argument
  • Friends of template classes
  • Templates with multiple type parameters
  • Comments regarding templates
  • Using export
  • Member Templates
  • STL(Standard Template Library)
11
  • Exception Handling
  • Traditional approaches to error handling
  • try, catch, and throw
  • A simple exception handler
  • Multiple catch blocks
  • The exception specification list
  • Rethrowing
  • Cleanup
  • Exception matching
  • Inheritance and exceptions
  • Catch by reference
  • Standard exceptions
  • Asynchronous Exception
5 12
  • Namespace Definitions
  • Unnamed Namespaces
  • Using Directives
  • Using Declarations
  • Namespace Aliases
  • The namespace std
  • The namespace anonymous
  • CPP Exception Handling.docx
  • CPP Files and Streams.docx
  • CPP Namespaces.docx
  • CPP Templates.docx
  • 13
    • The iostream Library
    • Predefined Streams
    • operator<<
    • Overloading << for User-Defined Classes
    • Overloading >> for User-Defined Classes
    • Manipulators
    • Stream States
    • Formatted I/O
    • Disk Files
    • Internal Transmission of Data

    Recommanded Books
    TitleC How to Program. With an Introduction to C++
    ISBN129211097X
    AuthorPaul Deitel, Harvey Deitel
    Year2016
    Publisher Laxmi Publications
    TitleAn Introduction to Programming with C++
    ISBN978-1-285-86011-4
    AuthorDiane Zak
    Year2016
    Publisher Cengage Learning
    TitleBeginning C++ Programming
    ISBN978-1-787-12494-3
    AuthorRichard Grimes
    Year2018
    Publisher Packt Publishing
    TitlePrinciples and Practice Using C++, Third Edition
    ISBN978-0-138-30868-1
    AuthorBjarne Stroustrup
    Year2024
    Publisher Addison-Wesley
    TitleProfessional C++
    ISBN978-1-394-19317-2
    AuthorMarc Gregoire
    Year2024
    Publisher Wiley
    TitleBeginning C++23: From Beginner to Pro
    ISBN978-1-484-29342-3
    AuthorIvor Horton, Peter Van Weert
    Year2023
    Publisher Apress
    TitleThe C++ Standard Library: What every professional C++ programmer should know about the C++ standard library
    ISBN979-8-386-65859-5
    AuthorRainer Grimm
    Year2023
    Publisher Leanpub
    TitleA Tour of C++
    ISBN978-0-136-81648-5
    AuthorBjarne Stroustrup
    Year2022
    Publisher Addison-Wesley Professional
    TitleModern C++ Programming Cookbook: Master C++ core language and standard library features, with over 100 recipes, updated to C++20
    ISBN978-1-800-20898-8
    AuthorMarius Bancila
    Year2020
    Publisher Packt
    TitleIntroduction to Programming with C++
    ISBN978-0-273-79324-3
    AuthorDaniel Y Liang et al.
    Year2014
    Publisher Pearson
    TitleThe C++ Programming Language, 4th Edition
    ISBN0-321-56384-0
    AuthorBjarne Stroustrup
    Year2013
    Publisher Addison-Wesley Professional
    TitleObject-Oriented Programming C++ Simplified
    ISBN978-9-381-15950-7
    AuthorHari Mohan Pandey
    Year2017
    Publisher Laxmi Publications
    TitleC++20 STL Cookbook: Leverage the latest features of the STL to solve real-world problems
    ISBN978-1-803-24871-4
    AuthorBill Weinman
    Year2022
    Publisher Packt Publishing
    TitleTemplate Metaprogramming with C++: Learn everything about C++ templates and unlock the power of template metaprogramming
    ISBN978-1-803-24345-0
    AuthorMarius Bancila
    Year2022
    Publisher Packt Publishing
    TitleConcurrency with Modern C++: What every professional C++ programmer should know about concurrency
    ISBN979-8-873-42093-3
    AuthorRainer Grimm
    Year2024
    Publisher Leanpub