Course : Object Programming in C++

Object Programming in C++

Download in PDF format Share this course by email 2


This intensive course has two goals: Acquaint participants in the methods and reflexes of object-oriented programming; give them full operational proficiency in C++. It is the product of long experience in C++ development, and has been built around a rigorous education model that relies on a large number of practical exercises that build on each other.


Inter
In-house
Custom

Practical course in person or remote class

Ref. C++
Price : 2970 € E.T.
  5d - 35h00




This intensive course has two goals: Acquaint participants in the methods and reflexes of object-oriented programming; give them full operational proficiency in C++. It is the product of long experience in C++ development, and has been built around a rigorous education model that relies on a large number of practical exercises that build on each other.

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

Intended audience
Developers, engineers, and project managers close to the development process.

Prerequisites
Good knowledge of a programming language like C, Java, C#, VB.NET or PHP.

Course schedule

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.

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.

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.

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.

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.

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.

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.

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).

Conclusion

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


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.

Customer reviews
4,6 / 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