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

Signal Integrity PCB Vias and Remedies

Wednesday January 14 2026

30 minute session (All Time Zones)

This webinar will explore the effects of routing vias and connector plated through holes on very high data rate signals using actual test results from as-built PCBs.

Register Now

Image 1

Understanding MPSoC Real-Time Processing

Friday January 16 2026

1 hour session (All Time Zones)

Explore the Arm® powered real-time processing capability of the UltraScale+ MPSoC and the hardware and software requirements for implementing time sensitive applications.

Register Now

Image 1

Python in One Hour

Wednesday January 21 2026

1 hour session (All Time Zones)

Learn the basics of the Python language and what makes it different from other programming languages, as well as discover the richness of the Python libraries and add-on packages.

Register Now

Image 1

Modern C++ for Safe and Efficient Embedded Systems

Friday January 23 2026

1 hour session (All Time Zones)

In this webinar we will introduce the C++ language constructs and coding styles that are suitable for an embedded system based around an ARM Cortex-M microcontroller.

Register Now

Image 1

Securing Android Devices

Wednesday February 04 2026

1 hour session (All Time Zones)

In this webinar we introduce Android's security layers with an emphasis on the areas that OEM and platform integrators will need to modify.

Register Now