C++ - Constructors

Overview

Estimated time: 35–45 minutes

Initialize objects with constructors. Use member initializer lists and overloads. Control generation with =default and =delete.

Learning Objectives

  • Write constructors and use member initializer lists.
  • Overload constructors and use default/delete.

Examples

struct S {
  int x; std::string name;
  S(): x(0), name("") {}
  S(int x, std::string n): x(x), name(std::move(n)) {}
};

Common Pitfalls

  • Assigning in the body instead of initializing members in the initializer list may cost extra work.