- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
成员函数的特性 内联函数 重载性 设置参数的缺省值 内联函数 内联函数:函数的函数体放在类体内 外联函数:说明在类体内,定义在类体外。 外联函数在函数头前加上inline就变成内联函数了。 重载性 成员函数可以重载。构造函数可以重载,析构函数不能重载。 构造函数和析构函数的调用时间 6.5 静态成员 静态成员的提出是为了解决数据共享的问题。 同全局对象相比使用静态数据成员有两个优势: 1 静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其他全局名字冲突的可能性 2 可以实现信息隐藏。静态成员可以是private成员,而全局对象不能。 #include iostream.h class Myclass {public: Myclass(int a,int b,int c); void GetNumber(); void GetSum(); private: int A,B,C; static int Sum;//静态成员 }; int Myclass::Sum=0;//静态成员初始化,必须初始化 Myclass::Myclass(int a,int b,int c) { A=a; B=b; C=c; Sum += A+B+C; } void Myclass::GetNumber() { coutNumber=A,B,Cendl; } void Myclass::GetSum() { coutSum=Sumendl; } void main() { Myclass M(3,7,10),N(14,9,11);//定义对象M,N M.GetNumber(); N.GetNumber(); M.GetSum(); N.GetSum(); } 静态数据成员注意事项 1.在类体中的数据成员声明前面加上关键字static 就使该数据成员成为静态的。 2.静态数据成员初始化的格式: 数据类型类名::静态数据成员名=值 一般地,静态数据成员在该类定义之外被初始化,并且不加static ,以免与一般静态变量混淆。 3.必须对静态成员初始化 4.引用静态数据成员时,采用如下格式: 类名::静态成员名 静态成员函数 对静态成员函数的引用不需要用对象名。 在静态成员函数的实现中,不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果静态成员函数内要引用非静态成员,可以通过对象来引用。 #include iostream.h class M {public: M(int a){A=a; B+= a;} static void f1(M m); private: int A; static int B; }; void M::f1(M m) { coutA=m.Aendl;//引用类的非静态成员 coutB=Bendl;//引用类的静态成员 } int M::B=0; void main() { M P(5),Q(10); M::f1(P); M::f1(Q); } 6.6 友元 友元通俗的理解就是允许另一个类或函数访问你的类的一种机制。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类 . 友元函数是一种定义在类外部的普通函数,其说明在类内部,关键字:friend. 友元函数不是成员函数,但是可以访问类中的私有成员。 友元函数的特点是能够访问类中私有成员的非成员函数。从语法上看,和普通函数一样。 例6-10 该程序的Point类中说明了一个友元函数Distance( ), 它在说明时前面加一个friend关键字,标识它不是成员函数,而是友元函数。它不需要指出所属的类,但是可以引用类中的私有成员,如a.x,b.x,a.y,b.y,都是类的私有成员。P1.Getxy(),p2.Getxy()是成员函数的调用。在调用友元函数时,如Distance(p1,p2)是友元函数的调用,不需要对象表示。 友元类 友元还可以是类,即一个类可以作为另一个类的友元。当一个类作为另一个类的友元时,该类的所有成员函数都是另一个类的友元函数。 6.7 类的作用域 类的作用域简称类域,是指在类的定义中由花括号括起来的部分。每个类都有自己的类域,该类的成员局部于类所属的域中。 类域中可以定义变量,也可以定义函数,但定义变量不能使用auto,register和extern等修饰符,只能用static,定义的函数不能用extern。 文件域可以包含类域。类域介于文件类和函数类之间。 作用域的种类 按作用域的大小可分为:
您可能关注的文档
- 山东农业大学计算机网络课件CH6 应用层.ppt
- 山东农业大学计算机网络课件CH7 网络安全.ppt
- 山东农业大学计算机网络课件CH8 音频视频.ppt
- 山东农业大学计算机网络课件CH9 无线网络.ppt
- 山东农业大学计算机网络课件CH10 下一代因特网.ppt
- 山东农业大学精品课程《英美文学史》课件:part one.ppt
- 山东农业大学精品课程《英美文学史》课件:part three.ppt
- 山东农业大学精品课程《英美文学史》课件:part two.ppt
- 山东农业大学精品课程《英美文学史》课件:unit 1.ppt
- 山东农业大学精品课程《英美文学史》课件:unit 2.ppt
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)