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

Working with Devicetrees

Friday August 08 2025

1 hour session (All Time Zones)

This webinar will demystify how hardware is described by the devicetree and how the Linux kernel can use the data provided by the devicetree description to configure how device drivers talk to the underlying hardware.

Register Now

Image 1

Python Magic Methods

Wednesday August 13 2025

1 hour session (All Time Zones)

This webinar will enable you to sharpen up your Python coding skills as we explore Python magic methods.

Register Now

Image 1

Embedded C++: Dispelling Myths and Pre-conceptions

Friday August 15 2025

1 hour session (All Time Zones)

This webinar aims to resolve any fears you may have of using C++ for embedded applications, by exploring what actually goes on within the compiler…

Register Now

Image 1

Understanding Random Stability in SystemVerilog and UVM

Wednesday August 20 2025

1 hour session (All Time Zones)

This webinar will explain random stability in SystemVerilog and in UVM, the Universal Verification Methodology.

Register Now

Image 1

How to Accelerate Both your FPGA Application and Productivity

Friday August 22 2025

1 hour session (All Time Zones)

This webinar introduces the Vitis-based design methodology that offers a structured approach for all aspects of software development, debug and deployment for individual kernels and complete systems.

Register Now