#include <iostream>
using namespace std;
class Integer{
public:
Integer(int data):m_data(new int(data)){}
~Integer(void){
cout << "xigou"<< endl;
delete m_data;
m_data = NULL;
}
/* 浅copy
Integer(const Integer& that){
m_data = that.m_data;
}*/
//深copy
Integer(const Integer& that){
m_data = new int(*that.m_data);
}
int get(void)const{
return *m_data;
}
private:
int* m_data;
};
int main(void){
Integer i(100);
cout << i.get() << endl;
Integer i2(i);
cout << i2.get()<<endl;
return 0;
}
C++ 深浅copy
最新推荐文章于 2022-05-22 10:18:21 发布