如何进行深拷贝?
How to make deep copy?
VehicleRegistry::VehicleRegistry(){
vehicles = new Vehicle[4];
numvehicles = 0;
maxsize = 0;
}
VehicleRegistry::VehicleRegistry(const VehicleRegistry& vr){
}
如何深拷贝那个动态数组?
这是一种可能的解决方案:
VehicleRegistry::VehicleRegistry(const VehicleRegistry& vr){
vehicles = new Vehicle[4];
copy (vr.vehicles, vr.vehicles+4, vechicles);
numvehicles = vr.numvehicles ;
maxsize = vr.maxsize ;
}
不要忘记,如果您有深拷贝,您还需要一个深赋值运算符。
要了解详细信息,请查看教程,例如 this one。
话虽如此,vector<Vehicles>
的管理起来可能要简单得多。
VehicleRegistry::VehicleRegistry(){
vehicles = new Vehicle[4];
numvehicles = 0;
maxsize = 0;
}
VehicleRegistry::VehicleRegistry(const VehicleRegistry& vr){
}
如何深拷贝那个动态数组?
这是一种可能的解决方案:
VehicleRegistry::VehicleRegistry(const VehicleRegistry& vr){
vehicles = new Vehicle[4];
copy (vr.vehicles, vr.vehicles+4, vechicles);
numvehicles = vr.numvehicles ;
maxsize = vr.maxsize ;
}
不要忘记,如果您有深拷贝,您还需要一个深赋值运算符。
要了解详细信息,请查看教程,例如 this one。
话虽如此,vector<Vehicles>
的管理起来可能要简单得多。