я wnat этот объект "name_of_pro" динамически выделяется в параметризованном конструкторе. я пытаюсь, но я думаю, что это не так
---------------------------------------...
class employee{
string name, ID, *name_of_pro;
int age ;
float salary ;
public:
employee(){};
employee ( string n,int ag, float sa , string name_pro){ // constructor. parameterized
name=n;
age=ag;
salary=sa;
name_of_pro=new string;
}
я надеюсь, что помощь плз.
Я не совсем уверен, понимаю ли я ваш вопрос, но я думаю, что вы можете иметь в виду, что вы хотите, чтобы name_of_pro
являлся копией name_pro
.
employee ( string n, int ag, float sa , string name_pro){
name=n;
age=ag;
salary=sa;
name_of_pro=new string(name_pro); // You can make a pointer to a copy this way
}
Вам просто нужно убедиться, что вы удалите строку name_of_pro
в деструкторе, если это то, что вы хотите сделать.
~employee() {
delete name_of_pro;
}
Что может быть еще проще, это список инициализации вместо всех простых назначений.
employee ( string name, int age, float salary , string name_pro) :
name(name), age(age), salary(salary), name_of_pro(new string(name_pro)) {
}
Дайте мне знать, если это не ответит на ваш вопрос.