c++10 类与对象.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++实用教程 * 10.2.3 new和delete 类的构造函数和析构函数的一个典型应用是在构造函数中用new 为指针成员开辟独立的动态内存空间,而在析构函数中用delete释放它们。 C++实用教程 * class CName { public: CName() { strName=NULL; } CName(char *str) { strName=str; } ~CName() { } char *getName() { return strName; } private: char *strName; }; int main() { char *p=new char[5]; strcpy(p,”DING”); CName one(p); delete []p; coutone.getName()endl; return 0; } class CName { public: CName() { strName=NULL; } CName(char *str) { strName=(char *)new char[strlen(str)+1]; strcpy(strName,str); } ~CName() { if (strName) delete []strName; strName=NULL; } char *getName() { return strName; } private: char *strName; }; C++实用教程 * 10.1 类和对象概述 10.2 构造函数和析构函数 10.3 对象的使用 10.4 综合应用实例 C++实用教程 * 10.3.1 对象赋值和拷贝 当用一个对象去构造另外一个对象,或者说,用另外一个对象值初始化一个新构造的对象,称这种情况为拷贝构造。 默认拷贝构造函数 类名(类名 形参对象名); 类名 对象名1(对象名2); 类名 对象名1=对象名2; class CData { public: CData(int data=0) { m_nData=data; } ~CData() { } int getData() { return m_nData; } private: int m_nData; } CData a(3); CData b(a); //CData b=a; couta.getData()endl; coutb.getData()endl; C++实用教程 * class CName { public: CName() { strName=NULL; } CName(char *str) { strName=(char *)new char[strlen(str)+1]; strcpy(strName,str); } ~CName() { if (strName) delete []strName; strName=NULL; } char *getName() { return strName; } private: char *strName; }; CName o1(DING); CName o2(o1); couto1.getName()endl; couto2.getName()endl; // error C++实用教程 * 10.3.1 对象赋值和拷贝 解决CName对象初始化中的内容拷贝问题,在C++中有两种手段: 一是给“=”运算符赋予新的操作,称为运算符重载(以后会讨论); 二是重新定义或重载默认拷贝构造函数。 C++实用教程 * 10.3.2 浅拷贝和深拷贝 浅拷贝 内存空间内容的拷贝方式。 默认拷贝构造函数是浅拷贝方式。 深拷贝 对于数据成员有指针类型的类来说,必须自己定义一个拷贝构造函数,在数值拷贝之前,需要为指针类型的数据成员另辟一个独立的内存空间,称为深拷贝。 拷贝构造函数的格式 拷贝构造函数的参数可以是一个或多个,但左起的第1个参数必须是类的引用对象。 类名 (参数表

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档