copy constructor is a contruction function of a class,
when a instance of the class is initialized with another
instance of the class passed in, it begins to copy all data
of the passed-in instance to creating instance.
Diamond in multi inheritance is 1 child has 2 different fathers
,2 different fathers have 1 common father,
how to make 2 different fathers recognize their
common father? the way is to claim it not real,