- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大工软件学院C11.2对象的定义与访问
第11章 类与对象 对象的定义与访问 理解对象 对象的定义 class Clock { private : int hour, minute, second; //关于时间的数据; public : void setClock(int h, int m, int s){…} void showClock ( ){…} } clock1,clock2; 1. 在定义类的同时直接定义对象 对象的定义 class { private : int hour, minute, second; //关于时间的数据; public : void setClock(int h, int m, int s){…} void showClock ( ){…} } clock1,clock2; 2.在定义类的同时直接定义对象,并且不给类命名 此处无类名 对象的定义 class Clock { private : int hour, minute, second; //关于时间的数据; public : void setClock(int h, int m, int s){…} void showClock ( ){…} }; Clock clock1,clock2; 3.定义类以后,在使用对象之前再定义对象 另外一条语句定义; 这种方式最常用 对象的存储空间 Clock clock1,clock2; clock1.setClock(1,2,3); clock2.setClock(4,5,6); 每个对象有各自的空间 对象的访问 Clock clock1; clock1.setClock(1,2,3); //对象名直接访问 Clock *p; //p为指向Clock类型的指针 p=clock1; //p为指向clock1对象 Clock clock3=clock2; //clock3为对clock2的引用 三种访问方式 举例 计算两点之间的距离 class Point { public: double distance(Point p) { return sqrt((p.x-x)*(p.x- x)+(p.y-y)*(p.y-y)); } void setX(double i){x=i;} void setY(double j){y=j;} private: double x; double y; }; void main(){ Point p1,p2; p1.setX(2);p1.setY(2); p2.setX(5);p2.setY(6); coutp1.distance(p2); } distance怎样调用? p.x 对象名.私有成员? 举例代码分离 头文件point.h包含类定义: //point.h class Point { public: double distance(Point p); void setX(double i); void setY(double j); private: double x; double y; }; 源文件point.cpp包含类实现: //point.cpp #includeiostream #includecmath #includepoint.h using namespace std; double Point::distance(Point p) { return sqrt((p.x-x)*(p.x-x)+ (p.y-y)*(p.y-y)); } void Point::setX(double i){x=i;} void Point::setY(double j){y=j;} 源文件main.cpp对类的使用: //ch3_2.cpp #includeiostream #includecmath #includepoint.h using namespace std; void main(){ Point p1,p2; p1.setX(2);p1.setY(2); p2.setX(5);p2.setY(6); coutp1.distance(p2); } 把类的设计、实现和使用完全分离开来,程序结构更加合理,便于项目的团队研发。 #include iostream.h #include math.h * #incl
文档评论(0)