C++ Course

C++

Course Overview

C++ is a lot better-rounded in terms of platforms and target applications, but the developer pool is more limited since it’s not as popular for web and mobile applications. If your project is focused on extremely low-level processing, then you may need a C++ developer. You can also use C++ to create efficient, fast applications for server-side software. Ultimately, you can use C++ for much more than C# but it’s not always the most cost-efficient way to handle your project.

The best way to decide on the right language is to post your project and ask developers for their opinion. Developers and advocates for both languages will pitch their ideas and give you more information on your specific project to help you decide.

C++ is considered a more prestigious language used for applications such as games, operating systems, and very low-level programming that requires better control of hardware on the PC or server.

Anyone interested in C language who want to apps. Individuals who want pursue career in development to build applications.

Basic C programming skills required. Because it is an extended version of C language.

You will be hired as developer or analyst in the companies like CGI, NVidia, Qualcomm and more. 

An Overview of OO Programming and C++, The Class Approach, Providing Class Functionality, Object, Efficiency and Integrity Issues, Composite Classes, Associative Classes, Operator Overloading, Class Properties, container class, inheritance, polymorphism and more.

C++ Course Syllabus

Introduction

An Overview of OO Programming and C++:

  • Review of OOP principles
  • Behaviour, state, identity, inheritance, polymorphism
  • History and evolution of C++
  • Key features of C++
  • C++ as a better and safer C

The Class Approach

  • Grouping of data and functionality
  • Syntax of a class declaration
  • Syntax of use
  • Public and private
  • Abstract Data Types
  • Program structure

Providing Class Functionality

  • Member functions
  • Function overloading
  • Default arguments
  • Ambiguities
  • Anonymous arguments
  • Resolving scope conflicts
  • The Scope resolution operator
  • The this pointer

Object

  • Life of an object
  • Constructors
  • operator new
  • Death of an object
  • Destructors
  • operator delete
  • Dynamic arrays

Efficiency and Integrity Issues:

  • Enumerations
  • Const declarations
  • Const member functions
  • Const member data
  • Inline function mechanism
  • Reference variables

Composite Classes

  • An opportunity for reuse
  • Scoping and initialisation
  • Order of construction
  • Member Initialisation lists
  • Use of fundamental classes

Associative Classes

  • Delegating class functionality
  • Dynamic associations
  • Custody and lifetime
  • Constant associations

Operator Overloading

  • Operator functions
  • Unary operators
  • Binary operators
  • Global operators
  • Member operators
  • Subscript operators
  • Input operators
  • Output operators
  • Guidelines

Class Properties

  • Static data members
  • Static member functions
  • Nested types
  • Forward declarations
  • Friend classes

Container Classes

  • Organising collections of objects
  • Template classes
  • vector
  • list
  • Iterators
  • Template functions
  • Algorithms
  • Using the Standard Library

  Copying and Conversions

  • The copy assignment operator
  • Copy constructors
  • Conversions to a class object
  • Conversions from a class object

 Inheritance

  • Extension of existing classes
  • Notation, syntax, terminology
  • Protected members
  • Scoping and initialisation
  • Multiple inheritance
  • Abstract base classes
  • Guidelines

Polymorphism

 

  • Modified class behaviour
  • Virtual functions
  • virtual destructors
  • Late binding
  • Inside the virtual function mechanism
  • Pure virtual functions
  • Use of pointers to base type
  • Guidelines