C++ Programming Literacy (Beginner Level)

  • 30m
  • 30 questions
The C++ Programming Literacy benchmark will measure your ability to use if-else and switch-case statements, iterate over arrays using for loops, and use range-based for loops. You will be assessed on your skills in defining classes, instantiating objects, creating structs, using the this pointer and const member, defining constructors and destructors, implementing copy constructors, declaring nested classes, and creating and referencing namespaces. A learner who scores high on this benchmark demonstrates that they have the skills to utilize different control structures in C++, and can implement object-oriented programming (OOP) concepts such as classes, objects, constructors, destructors, pointers, and namespaces.

Topics covered

  • add default arguments to constructors
  • build and debug code
  • chain relational checks using logical operators
  • connect constructors using constructor chaining
  • create a class and use the public access modifier
  • create a header file and a corresponding C++ file
  • create and reference namespaces
  • create const and non-const objects and functions
  • create copies of objects using C++'s default copy constructor
  • create enums and switch statements
  • create private and public nested classes
  • create structs and contrast them with classes
  • create switch statements on strings through enums
  • create vectors and check whether they are empty
  • define and invoke static functions
  • define and overload constructors to initialize member variables
  • define and use object destructors
  • differentiate between the old and new C++ syntax for creating static variables
  • identify common errors related to const objects and functions
  • identify the errors that can result from using the default copy constructor
  • implement constructors and destructors with free store memory
  • iterate over arrays using for loops
  • modify the flow of a program with if-blocks
  • recall the offerings of the standard template library
  • recall the structure of classes and objects
  • store functions and classes in namespaces
  • use maps and range-based for loops
  • use pass-by-value and pass-by-reference semantics with objects
  • use the cend(), rend(), and crend() functions
  • use the this pointer