Class A {
public:
A(int i = 0, int k = 0) {} // default constructor WHY ??
~A() {}
};
int main()
{
A a; // This creates object using defined default
C++11 §12.1 Constructors
A default constructor for a class X is a constructor of class X that can be called without an argument.
This is the definition of default constructor. A constructor that supplies default arguments for all its parameters can be called without argument, thus fits the definition.