[英]How to dynamically instantiate a class with parameterized constructor using std::vector?
[英]How dynamically in the parameterized constructor?
我在參數化構造函數中動態分配了該對象“ 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)) {
}
讓我知道這是否不能回答您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.