- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 类与对象 4.1 类与对象 4.1.1 C++类的定义 4.1.1 C++类的定义 4.1.1 C++类的定义 4.1.1 C++类的定义 4.1.1 C++类的定义 4.1.1 C++类的定义 4.1.1 C++类的定义 4.1.2 成员函数的定义 4.1.2 成员函数的定义 4.1.3 对象的创建与使用 4.1.3 对象的创建与使用 4.1.3 对象的创建与使用 4.3 构造函数和析构函数 4.3.1 构造函数的定义与使用 4.3.1 构造函数的定义与使用 4.3.1 构造函数的定义与使用 4.3.1 构造函数的定义与使用 4.3.1 构造函数的定义与使用 4.3.1 构造函数的定义与使用 4.3.2 析构函数的定义 【例题】矩形类 【例题】圆类 4.4 引用与复制构造函数 4. 4.1 引用 4.4.1 引用 4.4.1 引用 4.4.2 复制构造函数 4.4.2 复制构造函数 4.4.2 复制构造函数 4.4.2 复制构造函数 4.4.2 复制构造函数 4.4.3 成员对象与构造函数 4.4.3 成员对象与构造函数 4.4.3 成员对象与构造函数 4.4.3 成员对象与构造函数 4.4.3 成员对象与构造函数 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 说明: Complex Complex::operator+(Complex c){ Complex Temp(Real+c.Real , Image+c.Image) ; return Temp ; } 当成员函数的参数为同一类(class)的对象或它的引用,在函数体内使用参数对象的私有数据成员时,可用对象名加成员访问操作符点号进行。 从逻辑上讲,每个对象有自己的成员函数,访问同类其他对象的私有数据成员应通过该对象的公有函数,不能直接访问。但在物理上只有一个成员函数代码,所以直接访问是合理的。仅在成员函数中可以这样做。 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.5 运算符的重载 4.6 友元 4.6 友元 4.6 友元 4.6 友元 4.6 友元 4.7 静态成员 4.7.1 静态数据 4.7.1 静态数据 引用的定义: 引用是给一个已经定义的变量重新起一个别名,而不是定义一个新的变量,定义的格式为: 类型 引用变量名=已定义过的变量名; 例如: double number ; double newnum=number ; newnum是新定义的引用类型变量,它是变量number的别名。 引用主要用于函数之间的数据传递。 newnum是变量number的别名,C++系统不为引用类型变量分配内存空间。内存分配见下图: number称为引用newnum的关联变量。“”(读作ampersand)在这里是引用的说明符。必须注意number和newnum都是double类型。如在程序中修改了newnum也就是修改了number,两位一体。 【例4.3】引用作为函数的参数。 采用引用调用时,将对实参进行操作。 复制构造函数引入: 同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制是完全可行的。这个复制过程只需要复制数据成员,而函数成员是共用的(只有一份代码)。在建立对象时可用同一类的另一个对象来初始化该对象,这时所用的构造函数称为复制构造函数(Copy Constructor)。 CGoods类,复制构造函数为: CGoods (CGoods cgd){ Strcpy (Name , cgd.Name); Price= cgd.price; Amount=cgd.Amount; Total_value=cgd.Total_value;} 1. 复制构造函数的参数必须采用引用。 * 在C++中按值传递一个参数时,会在函数中重新分配一块内存建立与参数同类型的变量或对象,再把参数的数据成员赋给新的变量或对象。在建立这个对象时,编译器就会自动为这个对象调用复制构造函数。如果其参数是真实的对象而不是引用,则又会引入新的一轮调用复制构造函数的过程,出现了无穷递归。 2. 系统会自动提供称为默认的按成员语义支持的复制构造函数,亦称为默认的按成员初始化。按成员作复制是通过依次复制每个数据成员实现的。 赋值运算符“=”称默认的按成
您可能关注的文档
最近下载
- 2025年公安招聘辅警考试笔试题及答案.docx VIP
- (完整word)二次函数练习顶点式基础练习题 .pdf VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- 2025-2026学年苏科版劳动五年级上册教学计划及进度表.pdf VIP
- 干式变压器技术规范书.docx VIP
- 2025年西藏自治区昌都市护士基础理论知识考试题库及答案解析.pdf VIP
- 工程建设监理收费标准(发改价格2022670号).docx VIP
- 2025年黑龙江省绥化市辅警招聘考试题库及答案.docx VIP
- 操作手册模板【范本模板】.pdf VIP
- 幼儿园角色扮演的重要性和意义.docx VIP
文档评论(0)