+ 2
Default constructor
If only parameterised constructor is defined and then a non parameterised object is created, would it give any error? Is it necessary to define default constructor along with parameterised constructor?
2 ответов
+ 9
E.g.
#include <iostream>
class a {
public: a(int) {}
};
int main() {
a obj;
return 0;
}
// Error. Class constructor a::a() is not found.
// If you want to be able to initialise your class members without any parameters whilst already defined a constructor which takes parameters, you have to explicitly define another constructor which takes no arguments.
+ 3
It is technically possible to define only a parameterized constructor, but you need to assign default values to all parameters. These values will then be used to initialize the object if the user does not specify any values.
In any case it is a better practice (as already mentioned by @Hatsy Rei) to create a separate constructor taking no arguments.
Best of luck with C++. Is a great language to my opinion!!