I understand that when we define a class copy constructor of the class is necessary as Rule of three states. I also notice that the argument of the copy constructor is usual
If the copy constructor doesn't specify it's parameter as const then this fragment would not compile.
const ABC foo; ABC bar(foo);