Superwebdesign Software Trainers are Microsoft Certified Application Specialists
Superwebdesign Software Trainers are Adobe Certified Experts
en | fr

C++ opleiding cursus C++

Computercursus C++ in het Nederlands, Engels of Frans

Basiscursus C++

The goal of this course is to provide developers the most important 
concepts of the C++ programming language. 

C++ == a better C

  • Comments
  • Streams
  • Default function arguments
  • Function overloading
  • References

 

Concepts of Object-Oriented Programmig (OOP)

  • Objects and Classes
  • Abstraction/Encapsulation
  • Data Hiding
  • Inheritance
  • Polymorphism
  • Composition
  • Aggregation
  • OO Design

Object based programming

  • Objects and Classes
  • Class members
  • Class members visibility
  • this-pointer
  • Construction/destruction
  • const-members and objects, best practices
  • Dynamic memory allocation : new/delete
  • static-members
  • Class code management
  • Friend classes/functions

 

Implementing OO-concepts in C++

  • Inheritance
  • Polymorphism
  • Pure virtual-functions
  • Abstract classes
  • Interfaces

Migrating from C to C++

  • Calling conventions
  • Name decoration or name mangling
  • Under the hood
  • Use of “extern C”

Exception handling (EH)

  • Robust programming
  • Setting up an EH-scheme
  • try/throw/catch
  • Throwing objects
  • Best practices
  • Use of set_terminate()
  • Best practices

Conversions

  • Typecasts
  • Conversion by constructor
  • Conversion operator
  • Avoiding ambiguities

 

Operator overloading

  • Introduction
  • Overloading as a gadget
  • using a member function
  • using a friend function
  • Overloading as a necessity
  • overloading operator=()
  • copy constructor
  • Restrictions

 

Templates - STL

  • Template functions
  • Class templates
  • Standard Template Library (STL)

 

Multiple Inheritance

  • Inheriting implementations
  • Ambiguities
  • virtual base classes

I/O-streams : under the hood

  • Definition of cin
  • Definition of cout
  • Persisting your own objects
  • Formatted output

 

 

Gevorderde cursus C++

This course is designed to provide an in-depth knowledge of C++

C++ revisited

  • References
  • Access-specifiers, this-pointer
  • (explicit) constructor / destructor
  • Copy constructor
  • const -memberfunctions , - objects ; mutable
  • Inheritance, polymorphism
  • Templates + template specialization

 

Advanced Topics

  • Namespaces
  • RTTI
  • Cast operators: static_cast, dynamic_cast, …
  • Smart Pointers

Standard Template Library (STL)

  • Introduction to STL
  • Containers : Sequences and Associative Containers
  • Using Containers: string, vector, deque, list, set, map, ...
  • Iterators: an overview
  • Using Iterators: mutable, constant, reverse, constant and reverse
  • Algorithms: sort, reverse, search

 

Understanding/Implementing Design Patterns using C++

The importance in design patterns lies in the fact that application development can result in an architecture that is smaller, simpler and far more understandable than if these patterns were to be ignored.
Course material is based on the Design Patterns bible ‘Design Patterns’ by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.

  • Introduction to design patterns
  • Creational patterns: Abstract Factory, Factory Method, Singleton
  • Structural Patterns: Composite, Façade
  • Behavioral Patterns: Chain of Responsibility, Iterator, Interpreter, 
    Command, Observer, Visitor

 

If time permits, following Design Patterns can be discussed:
                  Bridge, Decorator, Mediator, Proxy, State

Unit testing

 

Implementing Design Patterns in C++ (4 days)

Design patterns describe simple and elegant solutions to specific problems in Object Oriented Design.
Design patterns capture solutions that have developed and evolved over time. They play an important role in designing complex systems.
The importance in design patterns lies in the fact that application development can result in an architecture that is smaller, simpler and far more understandable than if these patterns were to be ignored.

Course material includes slides based on the book ‘Design Patterns’ by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.

At the end of the course, students will be able to: understand and implement different design patterns

Prerequisites
Before attending this course, students should be familiar with: at least 3 months C++ programming skills 

Course Outline

Introduction
What are Design Patterns ?

Creational Patterns (theory + labs)
Creational patterns abstract the instantiation process.
Patterns described:

  • Abstract Factory
  • Factory Method
  • Singleton

Structural Patterns (theory + labs)
Structural patterns are concerned with how classes and objects are composed
to form larger structures.
Patterns described:

  • Bridge
  • Composite
  • Decorator
  • Façade
  • Proxy

Behavioural Patterns (theory + labs)
These patterns are concerned with algorithms and the assignments of responsibilities and communications between objects.

Patterns described:

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Observer
  • State
  • Strategy
  • Visitor

Case Study
Putting theory into practice, students will analyze/develop a file-system. Based on the knowledge they have acquired during the course, students will decide what design patterns to use for the implementation.

 

Custom C++ course (3 days)

Concepts of Object-Oriented Programming (OOP)   (2 hours)

  • Objects and Classes
  • Abstraction/Encapsulation
  • Data Hiding
  • Inheritance
  • Polymorphism
  • Composition
  • Aggregation

 C++ standards (2 hours)

  • The C++ Standards Committee
  • C++0x
  • Extensions to the core language
  • Rvalue reference and move semantics
  • Type inference
  • Lambda functions and expressions
  • Null pointer constant: nullptr
  • ...
  • C++ Technical Report 1

Object Oriented Design (.5 day)

  • Introduction
  • Single Responsibility Principle
  • Open-Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Standard Template Library (STL) (1 day)

  • Introduction to STL
  • Containers
  • string
  • Sequences: vector, deque, list
  • Associative Containers: set, map
  • Iterators
  • Container Adapters: queue, stack
  • Algorithms: sort, reverse, search, for_each, fill
  • Function Adapters: mem_fun_ref, mem_fun
  • Parameter Binders: bind1st, bind2nd

Boost Libraries (1 day)

  • Data structures: Any, Variant
  • Miscellaneous: Noncopyable, Date_time, Lexical_cast
  • String and text processing: Regex (regular expressions)
  • Function Objects: Bind
  • Memory: Smart Pointers
  • Concurrent Programming: Thread, Interprocess

 

Alle programmeeropleidingen:

Enkele klanten: Cevora, IBM, Holcim, CBR, Total, Bpost, Cisco, Shape, Colruyt, Telelingua, Nestlé, OCMW Molenbeek, Fabricom, Club Med, NAVO, GSK, G4Securicor, Participatiefonds, Roularta, Georg Fischer, SGC, MIVB, Federale Politie, Vlaamse Overheid, KBC, Fortis, ING, Triodos Bank, Tetrapak, Starwood hotels, Jetair, Belgacom, VRT, Royal Canin, GSK, ULB, Nationale Bank van België,...

Meer computercursussen

Computercursus in Brussel

 

 

50% korting voor zelfstandigen en KMO's in het Brussels Hoofdstedelijk Gewest

50% korting voor zelfstandigen en
KMO's via het
Brussels Hoofdstedelijk Gewest

 

50% korting voor zelfstandigen en KMO's in het Vlaams Gewest

50% korting
voor zelfstandigen en KMO's via het
Vlaams Gewest

Superwebdesign accepte les Chèques Formations de la Région wallonne

Wij accepteren opleidingscheques van het
Waals gewest

 

Valid HTML 4.01 Transitional Valid CSS!