As per the other comments and answers, in this case there is no need to use pointers as instance variables. You would be better off just making the instance variables actual strings. But just to explain your problem:
string nameS = account.name;
account.name is a pointer to a string, so you need this:
string nameS = *account.name;
In this statement:
this->number = new string(account.*number);
You are dereferencing incorrectly. It should be:
this->number = new string(*account.number);