所以我有这段代码在其中创建了PiggyBank对象。根据选择,有三个if语句。由于关键字 new 会在堆中分配对象,我该如何正确管理内存垃圾,因此,当创建其他类型的构造函数时,旧的存钱罐将消失,在以下代码中:>
while(fChoice!=""){
showFunctions();
PiggyBank *pb;
cin>>fChoice;
cin.ignore(numeric_limits<streamsize>::max(),'\n');
if(fChoice=="a") {
pb = new PiggyBank();
}
else if (fChoice=="b"){
cout<<"ENTER NAME:"<<endl;
string name = "";
cin>>name;
pb = new PiggyBank(name);
}
else if (fChoice=="c") {
cout<<"ENTER NAME:"<<endl;
string name = "";
cin>>name;
cout<<"ENTER STARTING BAlance:"<<endl;
int startBalance = 0;
cin>>startBalance;
pb = new PiggyBank(name,startBalance);
}
}