Object
Oriented Programming in C++
We
at, Software Education and Training offer in-depth comrehensive training
in Object Oriented Programming in C++. The training has beed designed
keeping in view the constantly changing industry trends.
The
courseware has been developed and improved by the instructor with experience
of over 12 years in industry as developer and as trainer.
Our C++ course has been well accepted by industry. After the student finishes
this mdoule we offer, Windows Software Engineering, Programming in Microsoft
Visual C++ and Programming in Borland C++ Builder.
Following
is the course module which assumes that the student does not know C: Visit
FAQ on C++ for more details.
Object
Oriented Programmin in C++
Programming In C++: The Basics
Basic Program Construction & Function main function
Program Statements, cout cin, <<, >>
String Constants
Basic Data types: int, char, float, long
Variable Names
Loops And Decisions
Relational Operators
Loops
For Loop, Variations
While Loop
Do Loop
When to Use Which Loop
Decisions
If, If . . .else Statement
Switch Statement
Conditional Operator
Logical Operators: AND, OR, NOT
Break & continue Statement
Structures
Structures, memory representations
A Simple Structure
Structures within Structures
Structure and Classes
Functions
Calling the Function
Function Declaration, Function Definition
Eliminating the Declaration
Function Overloading, parameter types
Classes: The Objects
A Simple Class
Classes and Objects
Specifying the Class
Using the Class
Constructors & Destructors
Objects as Function Arguments
Overloaded Constructors
Member Functions Defined Outside the
Objects as Arguments
Returning Objects from Functions
Structures and Classes
Static Class Data
Arrays
Array Fundamentals
Defining Arrays
Array Elements
Arrays of Strings
Strings as Class Members
A User-Defined String Type
Operator Overloading
Overloading Unary Operators
The Operator Keyword
Operator Arguments
Operator Return Values
Nameless Temporary Objects
Limitation of Increment Operators
Overloading Binary Operators
Arithmetic Operators
Adding Polar Coordinates
Inheritance
Derived Class and Base Class
Specifying the Derived Class
protected Access Specifier
Derived Class Constructors
Overriding Member Functions
Scope Resolution with Overriding Functions
Class Hierarchies
Constructors and Member Functions
Public and Private Inheritance, Access Combinations
Inheritance with member names same
Classes and Structures
Multiple Inheritance
Member Functions in Multiple Inheritance
Constructors in Multiple Inheritance
Ambiguity in Multiple Inheritance
Containership: Classes within Classes
Pointers
Address and Pointers
Memory map
The Address of Operator &
Accessing the Variables Pointed To
Pointer Constants and Pointers Variables
Passing Simple Variables, arrays, Passing Arrays
Pointers to String Constants
Copying a String Using Pointers
Library String Functions
Pointer to void
Arrays of Pointers to Strings
Memory Management: new and delete
Pointers to Objects
Referring to Members
An Array of Pointers to Object
A Chain of Pointers
Adding an Item to the List
Advanced C++ Concepts
Proxies and Iterators Operator overloading; Smart
references; Smart pointers; Iterators
Data structures with C++ objects:
Stacks, Queues, linked lists, Trees
Templates Functions
Using and implementing generic algorithms; Compile
time polymorphism; Overloading; Template instantiation and linkage
Templates Classes
Using and implementing generic types; Specialization;
Optimization issues
Exception Handling
Defination; Catching and throwing exceptions;
Handling constructor failures; Exception safe classes; Strategies for
handling exceptions
Conversions
User defined conversions; Controlling conversions;
Run-Time Type Information (RTTI); New cast syntax; Logical versus physical
constness
Dynamic Memory Management
Customizing memory management; Memory allocation
errors; Extending memory management
Containers
The Standard Template Library model; The role
of iterators; Performance issues; Adapter classes
Reference-Counting Techniques
Reference-counted strings; Smart pointers for
simple, automatic garbage collection
Advanced Inheritance
Private and protected inheritance; Virtual base
classes; Abstract and concrete base classes; Interface classes; Mixins
Layers of Abstraction
Nested classes; Simulating virtual constructors;
Abstract factories
|