C++对象的浅复制和深复制详解及简单实例

C++对象的浅复制和深复制详解及简单实例

成都创新互联公司专业提供服务器托管德阳服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买服务器托管德阳服务,并享受7*24小时金牌售后服务。

浅复制:两个对象复制完成后共享某些资源(内存),其中一个对象的销毁会影响另一个对象

深复制:两个对象复制完成后不会共享任何资源,其中一个对象的销毁不会影响另一个对象

下面我们来看一段代码,以便直观的理解:

#include 
#include 
using namespace std; 
class Student 
{ 
  int no; 
  char *pname; 
public: 
  Student(); 
  Student(int n,char* p); 
  ~Student(); 
  void display(); 
}; 
 
Student::Student(){} 
 
Student::Student(int n,char* p) 
{ 
  no=n; 
  pname=new char[10]; 
  strcpy(pname,p); 
} 
 
Student::~Student() 
{ 
  delete []pname; 
} 
 
void Student::display() 
{ 
  cout<<"学号:"<http://bzwzjz.com/article/piiedo.html
        
Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都企业网站设计 成都网站建设推广 成都网站设计 成都网站建设 成都网站建设 手机网站制作 重庆电商网站建设 外贸网站建设 高端网站建设 成都网站建设 网站建设公司 成都网站制作公司 手机网站设计 盐亭网站设计 成都网站建设 成都网站设计 手机网站建设 成都网站设计 网站制作 重庆外贸网站建设 成都网站制作 成都网站制作