Global training solutions for engineers creating the world's electronics
Menu

C++ Self-Assessment Test

Do you know enough C to attend the Fundamentals of SystemC or the Fundamentals of SystemC Online course?

You need to be able to write C++ programs using const, namespaces, references, streaming I/O, ranged forloops, uniform initialization, templated classes, overloaded operators, lambdas, constructors, and destructors.

Ask yourself whether you could write a C++ program to do the following:

1. Create a template class for a 3-D coordinate parameterized on the underlying data type that allows you to create, add/subtract (operator+ & operator-, scale (operator*), compare ( operator== ), to_string() , and stream out ( operator<< ) points. The class should be named Coordinate and support the following syntax:

2. Implement the class and compile with no errors or warnings (use flags -pedantic -Wall -Wextra ).

3. Create a unit test.

4. Run the program above and obtain:

You will be expected to be able to write C++ programs such as this, without help from the instructor, when you arrive on the first day of Fundamentals of SystemC.

As well as knowing C++, delegates should have a basic understanding of embedded systems, microcontroller architecture, and how to read a datasheet. If you are still unsure whether you meet the pre-requisites, please contact Doulos to discuss.

Upcoming Live Webinars

Image 1

Zephyr Insights: Scheduling and Threads

Tuesday March 31 2026

1 hour session (All Time Zones)

This webinar delves into the services offered by Zephyr to ensure real-time behaviour, with a primary focus on threads, priority management, and scheduling, highlighting similarities and differences to other RTOSs.

Register Now

Image 1

Beginners' Guide to Using AI for Hardware Engineers

Friday April 10 2026

1 hour session (All Time Zones)

This webinar will examine how AI can help do a better job of engineering. Learn how to start integrating AI into your projects with real examples of AI used in hardware design and verification.

Register Now

Image 1

Getting Started with Embedded Linux Security

Wednesday April 15 2026

1 hour session (All Time Zones)

This webinar will examine some of the main features and tools which can be used to make your embedded Linux system more secure.

Register Now

Image 1

How can I use AI to improve my embedded C development?

Friday April 17 2026

1 hour session (All Time Zones)

This webinar explores the use of modern AI tools in practical embedded software engineering workflows to produce higher quality code more quickly.

Register Now

Image 1

Hypervisors in the Real World

Wednesday April 29 2026

1 hour session (All Time Zones)

This webinar explores how hypervisors provide robust workload isolation for mixed-criticality embedded applications.

Register Now

Image 1

Clock Domain Crossing

Wednesday May 06 2026

1 hour session (All Time Zones)

This webinar discusses situations in which CDC problems can occur and more importantly presents solutions for the most frequent scenarios.

Register Now