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

Software-defined Radio on an AMD Zynq™ RFSoC

Tuesday January 21 2025

1 hour session (All Time Zones)

This webinar looks at the challenges of traditional RF conversion techniques as well as benefits and solutions of direct RF sampling whilst using the AMD RFSoC platform.

Register Now

Image 1

Getting Started with the Yocto Project

Friday January 24 2025

1 hour session (All Time Zones)

This webinar investigates how a minimal Linux system can be extended to include custom, packaged software.

Register Now

Image 1

Designing with AMD Kria SOMs

Friday January 31 2025

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

Modern C++ Casts: How and When to Use Them

Wednesday February 12 2025

1 hour session (All Time Zones)

This webinar explains the five types of casting, how they are used badly and then illustrates the proper use of casting and alternatives.

Register Now

Image 1

What Can Formal Do for Me?

Friday February 14 2025

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