类机制中有默认的对象复制操作符=,自定义对象复制需要注意一个问题,如果有遇到指针指向的资源是需要释放的,这时需要毫不留情释放,否则内存空间的泄露就不可避免。复制操作与拷贝构造函数的参数是一致的,只是在功能上复制操作只管复制不管构造。赋值操作返回必须是引用返回,这是为了与复制操作符语义一致,因为复制操作的结果是一个可以地径操作的左值。

#include<iostream>
using namespace std;
class Student{
char* pname;
public:

Student(char *pname = "NoName"){
cout<<"成功构造"<<endl;
this->pname = new char[strlen(pname)+1];
strcpy(this->pname, pname);
}
void print(){cout<<pname<<endl;}

//--------------------------------------------
Student& operator=(const Student&s){
if(this==&s)
return *this;
delete []pname;
this->pname=new char[strlen(s.pname)+1];
strcpy(pname,s.pname);
return *this;
}
//----------------------------------------------
~Student(){
delete[]pname;
}
};
int main(){
Student a("LiLy");
Student b;
b=a;
b.print();
return 0;
}

最新文章

  1. java即时通信小例子
  2. css 小三角
  3. js实现发送短信验证码后的倒计时功能(无视页面刷新)
  4. js之数组,对象,类数组对象
  5. (转载)struts2的驱动模型
  6. Oracle中Left join的on和where的效率差别
  7. Win7 下硬盘安装Linux Mint 17
  8. 李洪强漫谈iOS开发[C语言-011] - C语言标示符
  9. 如何理解IoC/DI
  10. Python FTP多线程爆破脚本
  11. V9最新手机门户域名绑定教程。
  12. 关于Unity导出的Android应用在小米、联想等机型上崩溃的问题
  13. C语言程序设计(翁恺)--第二周课件中的两个遗留点
  14. 为VisualSVN Server增加在线修改用户密码的功能
  15. Chapter 1 First Sight——32
  16. 运维-替换kibana徽标
  17. 1. js数据类型_对象_函数_内存
  18. 查看Java JVM参数配置信息命令
  19. VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法。
  20. ag使用需要注意的问题

热门文章

  1. 43、gridview或者listview的adapter优化
  2. Linux下c++使用pthread库
  3. [python][django学习篇][8]django 视图(2) --简单模板
  4. Markdown语法图解
  5. codechef May Challenge 2016 FORESTGA: Forest Gathering 二分
  6. 如何在MySQL中导入大容量SQL文件
  7. SPOJ QTREE4 SPOJ Query on a tree IV
  8. BZOJ【1609】 麻烦的聚餐
  9. Vijos[1028]魔族密码
  10. 命名参数和可选参数在.NET中的使用