- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch03(类和对象)(哈工程)
this 指针 一个特殊的指针 不需要定义, 指向调用类成员函数的对象。 #include iostream.h class cone {public: cone(){x=y=0;} cone(int a,int b) {x=a;y=b;} void copy(cone a); void printf() {coutx,yendl; } private: int x,y; }; void cone::copy(cone a) {if(this==a) return ; *this=a; }; void main() {cone one,two(3,4); one.printf(); one.copy(two); one.printf(); } 静态成员 例:一个学生类 class stu {public: private: int no; char name[20]; int age; }; 问题: 学生总数如何保存? 静态成员 静态数据成员 1)用关键字static声明 2)该类的所有对象维护该成员的同一个拷贝 3)必须在类外定义和初始化,用(::)来指明所属的类。 静态数据成员特征 1)具有静态生存周期 2)对于任何一个对象,它的属性值是相同 的。 3)静态数据成员属于整个类。 #include iostream 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;} void GetC() {cout Object id=countPendl;} 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(); B.GetC(); } 静态成员 静态成员函数 1) 用关键字static声明 2) 静态成员函数属于整个类 3) 只能引用属于该类的静态数据成员或静态成员函数 4) 访问非静态数据成员必须通过对象名访问。 5) 类外代码可以使用类名和作用域操作符来调用静态成员函数。 #includeiostream.h class App { public: static void f(); static void g(); private: static int global; }; int App::global=0; void App::f() { global=5; } void App::g() { coutglobalendl; } void main() { App::f(); App::g(); } 静态成员 #include iostream.h class A { public: static void f(A a); A(int b) {x=b;} private: int x; }; void A::f(A a) { coutx; couta.x; } void main() {A m(4);A::f(m);} #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() {cout Object id=countPendl;} private: int X,Y; static int countP;}; Point::Point(Point p) { X=p.X; Y=p.Y; countP++;} int Point::
您可能关注的文档
- 八年物理第十二章简单机械复习学案.doc
- WCL培训指南 Training CHN v1.0 Final.pdf
- 沪科版十河中心中学数学试卷七上.doc
- 大连市金州区教师教育自检方案.doc
- 智者有言2.doc.doc
- 行政法与行政诉讼法(辅导材料).doc
- 入队 ppt.pptx
- 三国演义精品练习题及答案.doc
- 全国上墙的标语.pdf
- 巴拉宪章文本.doc
- 2023年度工程硕士试题含答案详解(黄金题型).docx
- 2025年计算机二级通关考试题库(培优A卷)附答案详解.docx
- 2025年计算机二级题库试题(综合卷)附答案详解.docx
- 2023年度工程硕士检测卷AB卷附答案详解.docx
- 2024-2025学年度工程硕士考前冲刺练习试题【精华版】附答案详解.docx
- 2024-2025学年度工程硕士模拟试题附参考答案详解(完整版).docx
- 2023年度事业单位工勤技能考试高分题库附参考答案详解(培优A卷).docx
- 2024年工程硕士考试黑钻押题附答案详解【典型题】.docx
- 2023年度公安消防队题库附完整答案详解(各地真题).docx
- 2024计算机二级考前冲刺练习试题(名师系列)附答案详解.docx
文档评论(0)