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

Structured Verification with cocotb

Wednesday May 27 2026

1 hour session (All Time Zones)

This webinar will explain how Python+cocotb provides all that is necessary to a develop configurable, class-based verification framework with reusable components.

Register Now

Image 1

Making Cybersecurity Compliance Easier: Risk Analysis and Threat Modeling

Friday May 29 2026

1 hour session (All Time Zones)

This session will help you understand how to implement a risk assessment strategy that’s aligned with evolving regulatory requirements.

Register Now

Image 1

What Can Formal Do for Me?

Friday June 12 2026

1 hour session (All Time Zones)

This webinar will look at the ways formal helps your design verification process, including complexity analysis, bounded reachability analysis, overconstraining the design, setting cut points, and creating abstractions.

Register Now

Image 1

Introduction to Android Automotive

Wednesday June 17 2026

1 hour session (All Time Zones)

This webinar provides a valuable insight into the Android Automotive OS that runs "In Vehicle Infotainment" systems, from how it differs from mobile to writing 3rd party car apps.

Register Now

Image 1

Understanding MPSoC Real-Time Processing

Friday June 19 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