Global training solutions for engineers creating the world's electronics

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

What is an SBOM and why should I care?

Wednesday December 11 2024

1 hour session (All Time Zones)

In this webinar we are going to explain in as few words as possible what a Software Bill Of Materials (SBOM) is and why we need to know about them in embedded systems development.

Register Now

Image 1

The Keys to SystemC & TLM-2.0

Friday December 13 2024

1 hour session (All Time Zones)

This webinar is aimed at hands-on hardware or software engineers who might know Verilog or C but have no previous experience of SystemC. It will explain what you need to know to be successful with SystemC.

Register Now

Image 1

Designing with AMD Kria SOMs

Tuesday December 17 2024

1 hour session (All Time Zones)

This webinar will walk through the design process for using AMD Kria SOMs, including the use of Vivado and Vitis.

Register Now

Image 1

C/C++ Memory Management: Design and Debugging

Wednesday December 18 2024

1 hour session (All Time Zones)

This webinar explores best practices for avoiding memory issues in design and debugging memory usage issues in C and C++.

Register Now

Image 1

Edge Machine Learning - Project Tips & Tricks

Friday January 17 2025

1 hour session (All Time Zones)

This webinar will provide some useful directions for incorporating machine learning within your next embedded project.

Register Now