C++ Programming

5 Days course

Language: English

This course is only available on request!!


DESCRIPTION
C++ is the object oriented superset of ANSI C.
This course provides students with a comprehensive study of the C++ Programming Language.
The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs.
Lab exercises reinforce the lectures.

WHAT YOU WILL LEARN
Compare the object vs the procedural approach to writing software
Use correct object oriented terminology
Define and use classes in a C++ Program
Select the proper class protection mechanism
Create and use abstract data types
Derive classes using inheritance in C++
Implement operator overloading
Implement polymorphism by using virtual functions in a program
Write programs utilizing the C++ i/o classes

WHO SHOULD ATTEND:
Anybody who has the need to write programs in the C++ language including programmers, engineers, scientists, or other technical support personnel.

ASSUMED KNOWLEDGE
Students should have completed the Introduction to C Course or have equivalent knowledge.

OUTLINES

CHAPTER 1: PERSPECTIVE
1) The software crisis
2) Building software has been difficult
3) Design techniques
4) Large Software Systems
5) Roots of Object Orientation
6) What is OO programming?
7) C++ and OO programming
8) Why C++?
9) Any problems with C++?
10) Benefits of OOP

CHAPTER 2: THE LANGUAGE OF OBJECT ORIENTATION
1) What is an object?
2) What is a class?
3) Encapsulation
4) Data hiding
5) The public interface
6) Relationships among classes
7) Inheritance
8) Polymorphism
9) Object Oriented Design

CHAPTER 3: C vs C++
1) Comments
2) Output - cout
3) Input - cin
4) Definitions near to first usage
5) Function prototypes
6) The inline specifier
7) Some uses of const
8) The reference type
9) Overloading function names
10) Default parameters
11) The scope resolution operator ::
12) Aggregates -struct, enum, union
13) Structure members
14) Operators new and delete

CHAPTER 4: FUNDAMENTALS OF CLASSES
1) Data types
2) Creating your own types
3) Abstract data types
4) Using the class concept
5) How to define a class
6) How a class appears in memory
7) public and private access levels
8) Using class objects like a built in type
9) scope rules
10) scope resolution operator
11) Compilation of member functions
12) Constructors
13) Member initialization lists
14) Destructors
15) Array objects
16) Pointers
17) The this pointer
18) Passing objects to functions
19) Returning objects from functions
20) Static class members
21) Pointers to members

CHAPTER 5: OPERATOR OVERLOADING
1) Introduction
2) Rules for Operator Overloading
3) Rationale for Operator Overloading
4) Operator Overloading: Member Functions
5) Operator Overloading: Non Member Functions
6) friend functions
7) Copy constructor
8) The Assignment Operator
9) Understanding References
10) Overloading Operator( )
11) Overloading Operator[ ]
12) increment and decrement operators
13) const Objects & const references
14) Composition of classes

CHAPTER 6: INHERITANCE
1) Introduction
2) Inheritance - public base classes
3) An example inheritance relation
4) Member Initialization Lists
5) What isn't inherited
6) Assignments among base and derived
7) static vs dynamic binding
8) virtual functions
9) Polymorphism
10) virtual destructors
11) Pure virtual functions
12) Abstract base classes
13) An extended inheritance example

CHAPTER 7: I/O IN C++
1) The iostream library
2) iostream.h
3) Pre-defined streams
4) Examples of input and output
5) Manipulators
6) Stream states
7) Formatted i/o
8) Disk files
9) Examples of seekg, close, and tellg
10) Internal transmission of data

CHAPTER 8: ADVANCED TOPIC ISSUES
1) Templates
2) Multiple inheritance
3) Virtual base classes
4) private and protected inheritance
5) Argument matching
6) User defined conversions
7) Iterators
8) A List class
9) An Iterator class
10) Exceptions

APPENDIX 1: A REVIEW OF C LANGUAGE

 BIBLIOGRAPHY

 INDEX


[HOME] [dates] [reserve] [seminars]
FDDI Institute
De Regenboog 11 - 2800 Mechelen - Belgium - Europe
Tel 32 15 24 50 58 - Fax 32 15 25 10 50