Course : Object Programming in C++

Object Programming in C++






INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class

Ref. C++
  5d - 35h00
Price : Contact us






Teaching objectives
At the end of the training, the participant will be able to:
Master the syntax of the C++ language
Implement the concepts of Object-Oriented Design
Use development tools associated with the language C++
Master major additions from the C++ 11 standard
Provide workstations equipped with Visual C++ (in Windows) and gcc (in Unix). The HOW was designed to illustrate all asp
Instructional methods
All exercises include an analysis/design phase following by a programming phase.
TRAINING PROGRAM

Practical details
Workstations with the Visual C++ (in Windows) and gcc (in Unix) languages are provided. The hands-on work was designed to illustrate all aspects of the language and to always implement object-oriented design concepts.
Teaching methods
All the exercises include an analysis/design phase followed by a programming phase.

Course schedule

1
C++ syntax (differences between C and C++)

  • Data: Definition, initialization, types of data.
  • Expressions: Notion of reference, casting mechanisms.
  • Operators (: :, new, delete).
  • Functions (passing parameters and returning values by reference, default values, inlining, overload).
  • Using C code in a C++ program.
  • References (arguments and return values).
  • Constant types.
  • Namespaces.
  • "Automatic" typing with the keyword auto (C++ 11).
  • Hands-on work ¤Getting started with the development environment and programming a simple program.

2
Object-Oriented Approach

  • General principles of Object techniques.
  • C++ and Object programming.
  • Introduction to Object-oriented methodologies.
  • An introduction to UML diagrams and rating (static diagram, dynamic diagram, collaboration diagram, scenario).
  • Hands-on work ¤Applying concepts to a case study that will be central to the exercises that follow.

3
C++ classes and objects.

  • Syntactical aspects: Fields, methods, constructors.
  • Access control.
  • Self-reference.
  • Fields and static methods.
  • Functions.
  • Friend methods and classes.
  • Dynamically creating object tables.
  • Methodological aspects: Designing classes.
  • Copy and move constructors (C++ 11).
  • Delegating constructors (C++ 11).
  • Introduction to memory management issues (stack, heap, garbage collector).
  • Hands-on work ¤Programming the case study. Designing and building a class and interface hierarchy.

4
Derivation and inheritance.

  • Principle of derivation.
  • Syntactical aspects: Definition of derived classes, constructors.
  • Access control.
  • Implementing polymorphism: Virtual functions.
  • Reusing code: Abstract classes.
  • Interfaces.
  • Multiple inheritance.
  • Semantic and methodological aspects: Code factoring.
  • Hands-on work ¤Setting up polymorphism in the case study.

5
Exceptions

  • Syntactical aspects: Try blocks, generating exceptions.
  • Methodological aspects: Constructing an exception hierarchy, use of exceptions.
  • Hands-on work ¤Introducing exceptions into the case study.

6
Overloading operators

  • Principle of overload.
  • Overloading binary operators.
  • Particular overload: Index operator, function, conversion.
  • Overloading memory management operators.
  • Overloading the operators '<<' and '>>'.
  • Hands-on work ¤Overloading some simple operators.

7
Models

  • Class models. Principles and general mechanisms. Overloading models and redefining methods.
  • Function model. Principles and general mechanisms. Overloading templates.
  • Templates and overloading operators.
  • Templates and derivation mechanisms.
  • Improvements offered by C++ 11.
  • Hands-on work ¤Model exercises.

8
I/O and overview of STL

  • I/O.
  • The principle of streams and input/output class hierarchy.
  • Description of some input/output classes.
  • Overview of STL.
  • Objectives and principles.
  • Descriptions of some templates and classes.
  • Containers, iterators, range-based for loop (C++ 11).

9
Conclusion

  • Software lifecycle: Testing, integration, release method.
  • Interaction with other environments.
  • Critical analysis of C++.
  • Evolution of C++.


Customer reviews
4,5 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.


Dates and locations
Select your location or opt for the remote class then choose your date.
Remote class