C++ for non C Programmers

5 Days course

Language: English

This course is only available on request!!


DESCRIPTION
This course provides students with a comprehensive study of the C++ programming language while teaching those parts of C relevant to C++.
Classroom lectures are supplemented with many hands-on exercises which stress the following C++ topics: data abstraction, class design, operator overloading, inheritance, polymorphism and I/O.

WHAT YOU WILL LEARN
Use correct object oriented terminology
Compare and choose between the object and the procedural approach to writing software
Compare and select the appropriate I/O model from either C or C++
Define and use classes in a C++ program
Select the proper class protection mechanism
Create and use abstract data types
Implement operator overloading in user defined and off the shelf classes
Derive classes using inheritance in C++
Implement polymorphism by using virtual functions in a C++ program
Utilize the modular features of the C and C++ language

WHO SHOULD ATTEND:
This course is designed primarily for those Cobol, Pascal, and Fortran programmers who wish to learn C+ without having to partake in a prior C Language programming course.

ASSUMED KNOWLEDGE
Experience with a programming language or an assembly language.

OUTLINES

CHAPTER 1: INTRODUCTION
1) Background
2) Environmental considerations
3) A Sample C++ program
4) Variables and data types
5) Arrays
6) Components of a C++ program
7) C++ operators
8) Control structures
9) Functions
10) Function prototypes
11) Simple I/O

CHAPTER 2: MORE I/O IN C++
1) The printf function
2) The scanf function
3) The preprocessor
4) Conditional compilation
5) Avoiding multiple inclusions for the same file

CHAPTER 3: AGGREGATES IN C++
1) Data types revisited
2) Aggregate types
3) Arrays
4) Structures
5) Structures and functions
6) Bit fields
7) Enumeration types

CHAPTER 4: POINTERS in C++
1) What is a pointer?
2) Pointer operations
3) Use pointers to alter a function argument
4) Using pointers for array traversal
5) Pointer arithmetic
6) Sending an array to a function
7) Pointers vs arrays
8) Sending an aggregate to a function
9) Summary of the uses of pointers

CHAPTER 5: 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 6: 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 7: 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 8: 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 9: OPERATOR OVERLOADING
1) Introduction
2) Rules for Operator Overloading
3) Rational 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 10: 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 11: 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 12: 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

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