- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++程序设计 第5讲 关于类和对象的进一步讨论 关于类和对象的进一步讨论 1. 构造函数 2. 析构函数 3. 调用构造函数和析构函数的顺序 4. 对象数组 5. 对象指针 6. 共用数据的保护 7. 对象的动态建立和释放 8. 对象的赋值和复制 9. 静态成员 10. 友元 11. 类模板 使用类A对象给pc所指向的数据成员c赋值,其格式如下: A a; a.*pc=10; 使用指向类A对象指针p给pc所指向的数据成员c赋值,其格式如下: A a; A *p=a; p-*pc=10; (2) 指向类的成员函数的指针 ① 定义格式 类型(类名∷*指向成员函数的指针名)(参数表); ② 赋值方法 〈指向函数的指针名〉=〈类名〉∷〈函数名〉; ③ 引用方法 使用类的对象引用时, (〈对象名〉·*〈指向成员函数的指针名〉)(〈参数表〉); 使用类的对象指针引用时, (对象指针名-*指向成员函数的指针名)(参数表); 定义一个指向成员函数fun( )的指针pfun如下: int(A∷*pfun) (int); 给指向成员函数的指针pfun赋值如下: pfun=A∷fun; 注:fun的赋值方式 通过pfun调用它所指向的成员函数的格式如下: A a; (a.*pfun) (5); 使用指向类A对象的指针通过pfun调用它所指向的成员函数的格式如下: A a; A *p=a (p-*pfun) (5); 例: void main() { A x(8); int A::*pc; //定义指向类A的数据成员的指针 Pc=A::c; x.*pc=3; int(A::*pfun)(int); //定义指向类A的成员函数的指针 pfun=A::fun; A *p=x; cout(p-*pfun)(5)endl;} 1.3 this指针 例:分析下列程序的输出结果。 例:显式使用this指针访问数据成员 编写一个类ThisPointer,通过显式使用this指针访问数据成员 #include iostream class ThisPointer { int x; public: ThisPointer(int =0); //带默认形参的构造函数 void Disp(); }; ThisPointer::ThisPointer(int value) { x=value;} void ThisPointer::Disp() { cout“ x=“x; //隐式使用this指针 cout“\n this-x=“this-x; //显式使用this指针 cout“\n(*this).x=“(*this).xendl; //显式使用this指针 } int main() { ThisPointer ThisObject(10); ThisObject.Disp(); return 0; } 例程序: #include iostream.h class Sample { int n; public: Sample( ) { } Sample (int m){ n=m;} Sample add(Sample s1,Sample s2) { this-n=s1.n+s2.n; return (*this); } void disp( ) { cout“n=“nendl; } }; void main( ) { Sample s1(10),s2(5),s3,s4; cout“s1:”; s1.disp( ); cout“s2:”; s2.disp( ); s4=s3.add(s1,s2); cout“s3:”; s3.disp( ); cout“s4:”; s4.disp( ); } 注意: 在静态成员函数中没有this指针。因为它是同类的所有对象共享的资源,只有一个共用的副本。 对象引用的定义和赋值 定义ra是类A的一个对象a的引用,其说明格式如下: A a; A ra=a; 对象引用可作函数参数及返回值 例:对象引用作函数参数 例:对象引用作函数参数 输 出 2、对象引用作函数参数 三、共用数据的保护 三、 共用数据的保护 1、一般常量(简单类型的常量) 三、共用数据的保护 三、共用数据的保护 例6:分析下列程序的输出结果。 三、共用数据的保护 输 出 三
您可能关注的文档
- 第6周班会.ppt
- 第5课 调整图像的色彩与色调.doc
- 第5课_甲骨文和青铜工艺PPT课件 中华书局.ppt
- 第5章薄膜表征.ppt
- 第6单元第2节第4课时 多位数乘一位数(因数中间有0).ppt
- 第6章 Verilog设计进阶.ppt
- 第6章 企业内部控制评价.ppt
- 第6章 电子表格处理软件Excel 2000.ppt
- 第6章 章框架窗口、文档和视图.ppt
- 第5章:第1节__光合作用.ppt
- Global_Decentralized_Payment_and_Clearing_Network_Construction_Plantruction_Plantruction_Plan参考资料说明.pdf
- Belt and Road Supply Chain Finance Blockchain Solution参考资料说明.pdf
- 附件6、征求意见稿_四甲基氢氧化铵五水合物.pdf
- 附件4.征求意见稿-基于干法工艺锂离子电池用铝塑复合膜.pdf
- 易错06 特殊四边形的性质与判定(七大易错分析+举一反三+易错题通关)(原卷版).pdf
- 易错06 特殊四边形的性质与判定(七大易错分析+举一反三+易错题通关)(解析版).pdf
- 竞选生活委员发言稿(合集15篇).doc
- 社区重阳节讲话稿.doc
- 订婚父母讲话稿.doc
- 纪律委员竞选的演讲稿(范文15篇).doc
文档评论(0)