第6讲 对象数组与指针.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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:分析下列程序的输出结果。 三、共用数据的保护 输 出 三

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档