EncartaLabs

C++ Programming for Java and C# Developers

( Duration: 4 Days )

C++ Programming for Java and C# Developers training course will illustrate how to get the benefits of good software engineering and code reuse by using both the standard C++ language as well as the object-oriented programming techniques in real-world programming situations. There will be ample opportunity to apply these techniques during the practical sessions.

By attending C++ Programming for Java and C# Developers workshop, Participants will learn to:

  • Define and use data types
  • Declare, define and call functions
  • Implement classes
  • Use pointers, dynamic memory and object lifetime
  • Write code that is efficient and robust
  • Implement exception handling
  • Use operator overloading
  • Implement copy and conversion
  • Implement object relationships – composition and association
  • Use container classes and templates
  • Implement class relationships – Inheritance, Interface and Polymorphism

Participants must have solid experience of Java or C# including data types (i.e. class and struct(C#)); Methods, use of call by value and call by reference; Multiple source file projects (requiring project files or equivalent); a solid appreciation of object-oriented principles is assumed.

COURSE AGENDA

1

Course Introduction

2

C++ Quick Start

  • Review of OOP principles
  • Key features of C
  • Hello World Program
3

Fundamental and User-Defined Data Types

  • Built-in types
  • Defining constants
  • Type conversions
  • Defining and using enumerations
  • Built-in arrays and their limitations
  • Using the vector class
  • Built-in strings as character arrays
  • Using the string class
  • Defining and using structures
4

Functions

  • Declaring, calling and defining functions
  • Overloading
  • Pass by copy and reference
  • Default and anonymous arguments
  • Inline functions
  • Storage Class
5

Encapsulation

  • Class Definition and Implementation
  • Member functions
  • File organization
  • Defining and Initializing Objects
  • Scope, Statics and Nesting
6

Pointers

  • Concepts and syntax
  • Pointers to scalar and structured types
  • Null pointers
  • Pointers for encapsulated objects
  • Pointers vs. references
7

Object Lifetime

  • Object storage, lifetime and scope
  • operators new and delete
  • Construction
  • Destruction
  • Dynamic arrays
8

Efficiency and Integrity Issues

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

Exception Handling

  • Classifying and handling exceptions
  • Catching and throwing exceptions
  • The standard exception class hierarchy
  • Uncaught exceptions
  • Strategies for handling exceptions
10

Operator Functions

  • Operator implementation
  • Global operators
  • Subscript operators
  • Input operators
  • Output operators
  • Member operators
  • Increment and Decrement operators
  • Guidelines
11

Copying and Conversions

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

Object Relationships

  • Composition
  • Scoping and initialization
  • Order of construction
  • Member Initialization lists
  • Association
  • Custody and lifetime
  • Constant associations
13

Containers, Templates and Iterators

  • Organizing collections of objects
  • Template classes
  • vector, list, set and map
  • Iterators
  • Template functions
  • Algorithms
14

Inheritance and Polymorphism

  • Inheritance of Implementation
  • Notation, syntax, terminology
  • Scoping and initialization
  • Abstract base classes
  • Interfaces
  • Inheritance of Interface
  • Multiple Inheritance
  • Substitutability
  • Polymorphism
  • Destruction issues
  • Guidelines

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top