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;
};