C++ class demonstration
A C++ 11 class has various constructors and assignment operators. There are default constructor, copy constructor and move constructor.
Lets consider our class to contain following members:
class Expample { int *ref; int id; public: // Constructors: Example(); // Default constructor Example(int id); // User constructor Example(const Example&); // Copy constructor Example(Example&&); // Move constructor (only in C++ 11) // Destructor: ~Example(); // Assignment operators: Example& operator= (const Example&); // Copy assignment Example& operator= (Example&&); // Move assignment }
Thus our class contains two fields: a pointer to an integer and an integer id.
Let's write its default constructor. It is a constructor of an "empty" object. We should initialize the reference by a null value.
Example() { ref = nullptr; id = 0; }
This constructor will be called in following statements (variable definitions):
Example ex; Example ex(); Example ex = Example(); Example *ex = new Example; Example *ex = new Example();
Test program
This program demonstrates usage of different class constructors and assignments, including move constructor and assignment.
Source code: main.cpp
Example of output: log.txt