Constructors and Destructors
Up until now, we have learned how to declare data members, how to use them in functions with a public specifier, and how to access them. Now, let's explore how to set a value to them.
In the following example, we'll declare a struct by the name of Rectangle, and set a value to it as follows:
struct Rectangle { int height; int width; }; Rectangle rectangle; // What will the following print function print? std::cout << "Height: " << rectangle.height << std::endl;
This line will print a random value because we never set the value of int. The C++ rule for the initialization of basic types is that they get non-specified values.
Note
In some situations, the values of variables are set to 0 when they are not initialized. This might happen because of some details in the implementation of the operating system, the standard library, or the compiler, and the C++ standard does not guarantee it. A program will have strange bugs when it relies on this behavior...