The most compelling feature of C++ programming language is it being object oriented. An object is a fundamental aspect of an object oriented language like C++. The objects come from classes which is a collection of related type of information. As in C, we have structures as a user defined data-type, which is a collection of data members of different data-types. On Similar lines, C++ introduces the concept of classes, though with a lot of basic differences like the concept of constructors and destructors etc.
Let’s discuss a few differences here :
- C structures just have data members, whereas C++ classes, apart from data members, can also have member functions.
- C structure data members are all publicly accessible, however C++ classes have the power to specify access as private, public or even protected.
- Another vital difference are constructors and destructors. To initialize objects, including dynamic memory allocation, implicitly in C++, programmers define constructors, and similarly, to destroy an object, including freeing the memory, it uses destructors. In this article, the we shall have an in-depth understanding of the C++ constructors and destructors.
[Note that, in the explanation above, we have discussed about C structures… C structures carry a lot of differences with C++ structures.]
In this article, we will discuss in detail the intricacies of constructors and destructors from a developer’s point of view.