类和对象指针、封闭常成员.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
远离手机1小时;第5次 面向对象思想;class CPoint { public: int x; int y; public: CPoint(int x1,int y1) { x=x1;y=y1; } };;class CPoint { public: int x; int y; public: void f(int x1,int y1) { x=x1;y=y1; } };;和其他数据类型的变量一样,对于对象的访问,我们既可以通过对象名,也可以通过对象地址来访问一个对象。 对象指针就是用来存放对象地址的变量。 1、声明: 类名 *对象指针名; 例: CPoint *p_point; //指针变量声明 CPoint myPoint; p_point =myPoint; //赋值要用取得对象的地址;2、调用 对象指针名-成员名 例:p_clock-showTime(); 3、注意 对指针使用前,一定指向一个实例化的对象,才能使用。 通过对象指针,访问的是所指向对象的公有成员;6.3 动态内存分配;;;;OOP中的this指针;;this指针;class CPoint { int x; int y; public: CPoint():x(0),y(0){} void f(int i,int j) { x = i,y=j; } }; //其中,非静态成员函数 add在编译器看来应该是: void f(int i,int j, CPoint * const this) { this-x = i; this-y = j; };this指针;#include iostream using namespace std; class Person { public: Person(string n, int a); Personadd_age(int i); int get_age(void) const{ return age; } private: string name; int age; };;类的静态成员;类的静态成员; 静态成员 的内存区;1、静态数据成员 对比: 类的普通数据成员:在每个对象中都拥有一个独立空间,即每个对象的同名数据成员可以分别存储不同数值; 类的静态数据成员:以static关键字来声明,每个类只有一份拷贝,这个类的所有对象共同维护使用这个拷贝,从而实现同一类的不同对象之间的数据共享。 静态数据成员的声明: 在类的声明中对静态数据成员进行引用性说明, 必须在.CPP作用域的某个地方使用类名限定符::进行定义性说明,同时可以进行初始化。 注意:静态数据成员在声明时如果没有赋初值,系统会自动为其赋初值为0。;class point { public: point(int xx=0,int yy=0) {x=xx;y=yy;countP++;} point(point p ) ; int getX() {return x;} static void getC() {coutobject id:countPendl;} static int countP; private: int x,y; };;静态成员;静态函数成员;#include iostream.h class Point { public: Point(int xx=0,int yy=0) {X=xx;Y=yy;countP++;} Point(Point p); int getX() {return X;} int getY() {return Y;} static void getC() {coutobject id iscountPendl;} //静态函数成员,将原例中的getC()改为了static private: int X,Y; static int countP; //静态数据成员引用性说明 };;Point::Point(Point p) { X=p.X; Y=p.Y; countP++; } int Point::countP=0; void main() { Point A(4,5); CoutPoint A,A.getX(),A.getY(); A.getC(); Point B(A); CoutPoint B,B.getX(),B.getY(); Point::getC();//利用类名引用,输出对象号,不需要用对象名来引用}; 2)访问非静态数

您可能关注的文档

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档