If X is the name of the class, what is the correct way to declare copy constructor of X?
X(X arg)
X(X* arg)
X(const X* arg)
X(const X& arg)