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

Deep Learning with FPGAs

Wednesday May 21 2025

1 hour session (All Time Zones)

This webinar examines Deep Learning with particular emphasis on the use of FPGAs as inference engines for convolutional neural networks.

Register Now

Image 1

Anatomy of an Embedded Linux System

Wednesday May 28 2025

1 hour session (All Time Zones)

This introductory webinar will examine each of the components required for Linux to work on an embedded system. It will review how these components fit into the system and what functionality they provide for development and in the final deployed product.

Register Now

Image 1

How to Achieve IoT Security Compliance Globally

Friday June 06 2025

1 hour session (All Time Zones)

This webinar will highlight the core principles of a Secure-by-Design development lifecycle to enable compliance, and how this can be achieved across international boundaries.

Register Now

Image 1

Connecting AI to IoT Applications

Wednesday June 11 2025

1 hour session (All Time Zones)

This webinar will examine the application of AI in Edge / IoT situations. Although it uses an example for an industrial application, it will be of interest to anyone considering the use of AI technology for constrained devices.

Register Now

Image 1

Zephyr Insights: Scheduling and Threads

Wednesday June 18 2025

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

Developments in Accelerated Adaptable Technology

Friday June 20 2025

1 hour session (All Time Zones)

In this webinar you will learn about the core concepts behind the new Adaptable Compute Acceleration Platforms from AMD.

Register Now