I've searched if constructor exists for an abstract class. I found that the answer is YES, and these constructors can be called or used by derived class objects.
How about user defined constructors for an abstract class??
Can we write or define Default, parametrized or copy constructors for an abstract class??
Yes,
Yes
Abstract class cannot instantiate, and since it meant as a base class, you should define a virtual destructor for it.
DEMO: http://coliru.stacked-crooked.com/a/a4b851e70667bb59