Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us
 sign up for Feabhas e-news

 


 C++ Training Courses
C++-303
Essential C++

Length: 3 days
Cost: Contact Feabhas (available for on-site delivery only)
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail
Course Description:
This course introduces the C++ language for general use. It is a subset of our more extensive 5 day course C++-501: C++ for Embedded Developers.

The C++ language is covered in depth. Fears of the use of this large language are quelled by the coverage of memory and performance issues. This course will clearly demonstrate both the strengths and weaknesses of C++ versus C. Good programming practise is considered throughout this highly practical course.

The course is suitable for programmers who do not need to have in-depth knowledge of embedded programming concepts or concurrency issues. The course is also useful for Hardware Engineers needing to learn C++, for example to move onto using SystemC.

It is assumed delegates have a working knowledge of the C programming language.

Overview:
A 3 day course covering C++ in general. Fifty percent of the course is spent on practical work.

Course Objectives:
• To provide an understanding of the essentials of the C++ programming language.
• To give you practical experience of writing C++ for real systems.
• To give you the confidence to apply these new concepts to your next project.

Delegates will learn:
• The core C++ syntax and semantics
• About memory and performance issues associated with C++

Pre-requisites:
• A working knowledge of C

Who Should Attend?
• Programmers who are embarking on a project using C++ for the first time.
• Developers currently reluctant to move to C++ from C as they believe it poses too great an overhead.
• Programmers needing to know C++ to interface to off-the shelf libraries and development tools.
• Hardware Engineers needing to learn C++, for example to move onto using SystemC

Duration:
Three days.

Course Materials:
• Delegate Handbook

Related Courses:
• OO-503 Real-Time Systems Design with UML 2.0
• OO-301 Applying Real-Time UML
• C++-402 Advanced C++
• C++-501 C++ for Embedded Developers
• RTOS-201 Fundamentals of Real-time Operating Systems

Course Workshop:
All exercises are PC based using the Eclipse CDT development environment and the GCC compiler. Approximately 50% of the course is given over to practical work.
Course Outline:

From C to C++
- Non object-oriented C++ enhancements to basic C
- Conveniences of C++ over and above C
Introduction to Object Oriented
(OO) Principles

- Key characteristics of OO development
- OO techniques and the software development process
Introduction to Classes
- Classes & class instances
- Methods
- Constructors & destructors
More on Classes
- Inlining member functions
- const member functions
- static class members and functions
- arrays of classes
- implementing object relationships
Inheritance
- Building class hierarchies
- Dynamic binding for class methods,
virtual functions
- Polymorphism
Multiple Inheritance (MI)
- MI and interfaces
Functions and Operators
- Class defined conversions
- Overloading and function selection
- Friend functions
- Overloading operators
- Dynamic memory allocation revisited
Exception Handling
- What are exceptions?
- Throwing an exception
- The try block
- Catching an exception
- Rethrowing exceptions
- Catch all handlers
- Exception specifications
Templates
- Introducing parameterised types and functions
- Function templates
- Class templates
The Standard Library
- Introduction to the Standard Template
Library
Software Structuring
- Structuring large scale software systems
- Separate implementation from interface header files
- Dealing with name conflicts
- Linking with other languages

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-501
AWDM-501
CE-501
C-501
C++-303
C++-501
C++-502
C++-503
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-401
TCP-401
WDF-501
WDM-501