Comprehensive C++
Standard Level - 5 days
view dates and locations
Auf DeutschComprehensive C++ teaches the C++ programming language in the context of electronic system design, validation andimplementation, where C++ is used both for abstract system-level modelling and for embedded software implementation. It is a direct replacement for a general class in C++ programming, with the added benefit that the syllabus, contextual examples and exercises are tuned to the requirements of the embedded system and System-on-Chip communities.
Comprehensive C++ provides an excellent full scope primer for any of the Doulos SystemC courses, or for anyone wishing to use C++ in the context of electronic system level modelling, hardware-software integration or embedded system implementation.
The workshops are based around carefully designed exercises to reinforce and challenge the extent of learning, and comprise approximately 50% of class time.
Who should attend?
Comprehensive C++ is aimed at electronic hardware, software and system-on-chip engineers who need to gain a working knowledge of the C++ language. The course is also suitable as a general introduction to C++ programming, particularly for anyone working in an electronics-related business area or with a background in digital electronics.What will you learn?
- The syntax and semantics of the C++ language
- The principles of object-oriented modelling and programming
- The skills needed to apply C++ to common tasks in the context of electronic system level modelling
- An overview of the principles of embedded software programming, real-time operating systems and development tools and how these principles are realized using C++
Pre-requisites
Delegates should have had some exposure to the C programming language, in particular a basic level of familiarity with functions, variables, data types, operators, and statements. A good working knowledge of another high-level programming language is an acceptable alternative. No previous knowledge of C++ is required. This course is not suitable as a first course in computer programming.Please contact Doulos direct to discuss and assess your specific experience against the Pre-requisites.
Course materials
Doulos Course materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the HDL training world, and has made them sought after resources in their own right. Fees include:- Fully indexed course notes creating a complete reference manual
- Workbook full of practical examples and solutions to help you apply your knowledge
Structure and Content
Day 1- Learn about the differences between C and C++
Summary of C
A refresher on basic C syntax • Functions • Control flow • Fundamental types • Literals • Derived types • Operators • Standard librariesFrom C to C-1999 and C++
The features added to C by C++ and the ANSI C-1999 standard • const • inline • Stream I/O • Function prototypes • Pass-by-reference • Default arguments • Function and operator overloadingLinkage and Storage
Learn some tricky features often overlooked in C, but necessary for C++ • Scope • Linkage • Linking C and C++ • Namespaces • Static, automatic and dynamic storage • Memory management • new • delete • Arrays • Pointers • StringsC++ Development Environments for Desktop and Embedded Systems
Compilers • Linkers • Loaders • Debuggers • Integrated development environments • Cross-compilers • In-circuit emulationDay 2- An introduction to object-oriented programming
Classes and Objects
Introduction to modelling and abstraction • Information hiding • Abstract data types • Classes and objects • Public and private class members • Member functions • Scope resolutionConstructors
How to ensure that objects are properly initialised, and how to tidy up afterwards • Constructors • Destructors • Copy constructors • Pointers and objectsMembers and Friends
More features of C++ classes • Friends • Operator overloading • Overloading assignment • this • Static members • Constant objects and membersDay 3- Master the subtleties of object-oriented programming in C++
Object-Oriented Modelling and The UML
Learn the principles of object-oriented design • Class relationships • The Unified Modelling Language • Class and object diagrams • Association • Composition • Dependency • Implementing class relationships in C++ • Initialization of class membersInheritance
Derived classes • Inheritance • Protected members • Casting pointers • Order of initializationVirtual Functions
Inheriting common behaviour • Overriding methods • Virtual functions • Polymorphism • Late binding • Virtual destructors • Abstract base classes and pure virtual functionsMultiple Inheritance
Single Inheritance • Multiple inheritance • Virtual multiple inheritance • Interfaces • Composition againDay 4- Learn to make use of some standard libraries and to develop your own class templates
Strings and Streams
The string class • I/O streams • I/O of user-defined types • Manipulators • Buffering • Formatted and unformatted streamsFurther C++ Features
Run-Time Type Identification • Type casts • User-defined conversions • Nested classes • Pointer-to-memberTemplates
Function templates • Class templates • Template arguments • Template specialization • Building simple data structures using templated and untemplated classesDay 5 - Embedded Programming and Standard Libraries
Exceptions
Error handling • Throwing and catching exceptions • Handlers • Standard exception classes• Preventing memory leakage during exceptionsPrinciples of Embedded Programming
Concurrency • Threads • Synchronisation • Memory maps • Communicating with peripherals • Meeting external timing constraints • Process scheduling and pre-emption • Using C++ thread classes • Real-time operating systemsStandard Libraries
Summary of the standard C and C++ libraries • Using container classes, algorithms and iterators from the standard libraries| Course Dates: | ||
|---|---|---|
| June 16th, 2008 | Bournemouth, UK | Enquire |
Price on request
Back to top


