The copy constructor is meant to make a copy of the object. So, the copy constructor prototype for you will be
Character ( const Character& c );
The one you have declared has three different parameters of type Character
. The complete constructor will be:
Character(const Character& cName){
cout << "Keeping a copy constructor" << endl;
name = new string;
age = new int;
gender = new char;
//assingment operator
*name = *(cName.name);
*age = *(cName.age);
*gender = *(cName.gender);
}