- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 静态成员 静态数据成员 静态成员可以实现多个同类对象的数据共享,它不是某一个对象的成员。 静态数据成员只存储一处,供所有对象使用。 静态数据成员具有静态生存期,它的内存空间在编译阶段就已经分配,程序结束时释放。 共享包括: 变化的共享---如类对象创建的计数值。 不变的共享---如日期类中可能使用到的12个月的名称, 它是一个静态数组。最好设置为const。 如:static const char* monArr[12]; 这些共享数据是专属于某个类的变量。 2.友 元 友元函数 首先,它是一般的函数,而不是类的成员函数; 其次,在类的定义中,用friend关键字将它说明为类的友元(在私有段和公有段都可),这样它被允许可访问该类的所有对象的私有成员。 优点:友元可以直接访问对象的私有成员,省去了调用类成员函数的开销。提高了程序的效率。 缺点:破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。导致程序的可维护性差。 友元类 一个类B 可以是另一个类A的友元。这意味着类B 中的所有成员函数都可以访问类A中的私有成员。 说明类B 是类A的友元的方法是在类A中加入说明语句:friend class B ; 即A主动说明B够朋友 此语句所在的位置没有特别的要求,在公有和私有段都可。 友元关系不能传递。 函数F?类B(F是朋友)?类A(B是朋友) 3. 运算符重载 运算符重载的作用是什么? 所谓运算符重载就是赋予已有的运算符多重含义。 C++中预定义的运算符其运算类型只能是基本数据类型,而不适用于用户自定义类型(如类)。 运算符重载使运算符的运算对象扩充为自定义类型(如类) 。 int x,y,z; z=x+y; class Point{ private: int x,y; public: //… … }; Point p1,p2,p3; p3=p1+p2; 哪些运算符可以用作重载? 几乎所有的运算符都可用作重载。 这些运算符不允许重载: . :: ?: sizeof 重载运算符有哪些限制? 不可臆造新的运算符。必须把重载运算符限制在C++语言中已有的运算符范围内的允许重载的运算符之中。 重载运算符坚持4个不能改变 。 不能改变运算符操作数的个数; 不能改变运算符原有的优先级; 不能改变运算符原有的结合性;? 不能改变运算符原有的语法结构。 运算符重载时必须遵循哪些原则? 使用重载运算符时应遵循如下原则:?(1) 重载运算符含义必须清楚。?(2) 重载运算符不能有二义性。 重载为友元函数 Person Person::operator=(const Person s){ coutAssigning s.pName\n; if (this==s) return *this; delete []pName; pName=NULL; pName=new char[strlen(s.pName)+1]; if(pName) strcpy(pName,s.pName); return *this; } Person::~Person(){ coutthis Destructing pName endl; if(pName) delete []pName; pName=NULL; } void main(){ coutmain...\n; Person p1(Tom); Person p2(John); p1=p2; } main... 0012F56C Constructing Tom 0012F570 Constructing John Assigning John 0012F570 Destructing John 0012F56C Destructing John 调用自定义赋值函数,程序正常执行,解决内存泄漏问题。 Tom John Tom John 自定义函数执行p1=p2; p1 p2 p1 John 新建存储区 拷贝串 p2 释放空间 重复释放 Tom John John 用默认函数执行p1=p2; p1 p2 p1 p2 Tom 无法释放 对字符串处理的总结 防止内存泄露,往往要重写拷贝构造和赋值函数。 因此,我们可以编写一个字符串类,在该类中解决内 存泄露问题。 如此以后,其他类就可以直接使用字符串类了,自然,在这些其他类中并不用再去考虑内存泄露问题了,因为字符串类本身已
您可能关注的文档
- 译:为黑客设计的概率规划及贝叶斯方法.doc
- 分数阶系统稳定性理论及控制研究.pdf
- 物理质量及密度重难点理解.doc
- 第四篇 2椭球面上几种曲率半径.ppt
- 2012安徽防震减灾知识竞赛答案.doc
- 02404工程地质和土力学201110真题和答案.doc
- 局部多孔质气体静压止推轴承压力分布研究.pdf
- 第六章:滩涂车履带影响因素分析.doc
- 复合地基变形预测理论及控制技术及工程实践.pdf
- 第二篇 项目概况.doc
- 渤海汽车2025年第三季度报告.pdf
- 【生物】湖南省部分学校2025-2026学年高三上学期9月联考(学生版).pdf
- 第五章 一元一次方程(单元解读课件)数学人教版2024七年级上册.pdf
- 【生物】湖南省部分学校2025-2026学年高三上学期9月联考(解析版).pdf
- 【生物】湖北省部分高中协作体2025-2026学年高二上学期9月联考(学生版) .pdf
- 华斯股份:2025年三季度报告.pdf
- 安徽省蚌埠市蚌埠第二中学2025-2026学年高二(上)开学检测物理试卷.pdf
- 安徽省六安市裕安区2024-2025学年高二生物上学期12月月考(解析版).pdf
- 安徽省皖南八校2024-2025年高二生物上学期期中考试(解析版).pdf
- 第五章 一元一次方程(复习课件)数学人教版2024七年级上册.pdf
最近下载
- SYT 6150.1-2011 钢制管道封堵技术规程 第1部分塞式、筒式封堵.docx VIP
- TCESA1249.22023服务器及存储设备用液冷装置技术规范第2部分连接系统.docx VIP
- 2025新修订《治安管理处罚法》应知应会100题(含答案+解析).docx
- 标准图集-鲁L19G402_预应力高强混凝土实心方桩.pdf VIP
- 《卓有成效的管理者》解读课件.pptx VIP
- 科研组长竞聘PPT课件.pptx VIP
- GSO∕UAE.S. 2055-1:2015 清真食品通用要求.docx VIP
- 电子信息系统机房施工及验收规范.pdf VIP
- 小儿过敏性紫癜护理查房.pptx VIP
- 在线网课学习课堂《临床伦理与科研道德(山东大学)》单元测试考核答案.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)