Most C++ courses teach you the features and syntax of the language.
This one tells you how to design and develop realistic OO applications in C++.
You learn all the good techniques of OO programming; as well as how to implement
these objects in C++.
Duration: 5 days
objectives
- be able to write well-decoupled Object Oriented (OO) C++ code
- know how to design C++ software that it is easy to maintain and extend
- follow a clear development method geared towards OO language development
- create C++ objects that are flexible enough to belong in reusable libraries
target audience
The course is suitable for anyone.
For onsite training of development teams with experience of
OO design and development in another language, such as Java,
the course can be slimmed down.
Introduction to C++
- origins of C++
- development of a sample program
- testing and debugging
- interactive and batch mode
Introduction to objects
- objects in the world and in software
- encapsulation
- pluggability and extensibility
- object analysis and design
C++ basics
- blocks and declarations
- variables and data types
- statements and expressions
- functions
- parameter types and passing
- arrays and structs
- overloading
- I/O streams
Classes
- classes and member functions
- private and public parts
- constructors.
- overloading operators
Programming with objects
- objects, fields, and references
- encapsulation
- virtual functions and polymorphism
- class diagrams
- messages
- arrays and collections
- inheritance
- decoupling
Models and code
- choosing classes and links
- use-cases
- detail and high-level
- basic design sequence
- business models, scenarios
- collaborations
- decoupling
- associations and visibilities
- using patterns
Pluggable design
- designing collaborations
- contracts
- defining interfaces and goals
- abstract frameworks
- generics and delegation
- observers
- modelling component interfaces
Memory management
- pointers
- dynamic storage allocation
User interface
- the user interface
- picture components
- events and actions
- designing a user interface
- storyboards
- use cases
- control objects
The development process
- short cycle development
- low-risk paths
- basic design sequence
- re-engineering
- reuse and component-based design
- process patterns
- deliverables and pragmatics
Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses, or even created.
timetable
|
Day 1
|
|
|
Day 2
|
|
|
Day 3
|
|
|
Day 4
|
|
|
Day 5
|
|
follow-up
Ideally this training should be followed up some weeks later, by the course:
advanced C++ programming.
course instructor
The course is presented by one of our senior consultants, each of whom has at
least ten years' experience in object oriented software development,
and at least three years' experience as a trainer and consultant
in a diverse range of application areas.