The compiler creates a default construtor only in the following situations:
- When the class’s base class defines the default constructor.
- When the class of member objects defines default constructors.
- When the class has a virtual function.
- When the class has a virtual base class.
So for the following class, the compiler does not create a defalut constructor if you do not define one:
class test{ public: void show(); void get(int, char*, float); private: int h, char* ch; float f;};