- 5
- 0
- 约1.03万字
- 约 57页
- 2016-12-05 发布于浙江
- 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 具有静态数据、函数成员的 Point类 #include iostream using namespace std; class Point //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::countP=0; void main() //主函数实现 { Point A(4,5); //声明对象A coutPoint A,A.GetX(),A.GetY(); A.GetC(); //输出对象号,对象名引用 Point B(A); //声明对象B coutPoint B,B.GetX(),B.GetY(); Point::GetC(); //输出对象号,类名引用 } 32 * 友元 友元是C++提供的一种破坏数据封装和数据隐藏的机制。 通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息。 可以使用友元函数和友元类。 为了确保数据的完整性,及数据封装与隐藏的原则,建议尽量不使用或少使用友元。 友 元 * 友元函数 友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体中能够通过对象名访问 private 和 protected成员 作用:增加灵活性,使程序员可以在封装和快速性方面做合理选择。 访问对象中的成员必须通过对象名。 友 元 * 例5-6 使用友元函数计算两点距离 #include iostream #include cmath using namespace std; class Point //Point类声明 { public: //外部接口 Point(int xx=0, int yy=0) {X=xx;Y=yy;} int GetX() {return X;} int GetY() {return Y;} friend float Distance(Point a, Point b); private: //私有数据成员 int X,Y; }; 友 元 double Distance( Point a, Point b) { double dx=a.X-b.X; double dy=a.Y-b.Y; return sqrt(dx*dx+dy*dy); } int main() { Point p1(3.0, 5.0), p2(4.0, 6.0); double d=Distance(p1, p2); coutThe distance is dendl; return 0; } 36 * 友元类 若一个类为另一个类的友元,则此类的所有成员都能访问对方类的私有成员。 声明语法:将友元类名在另一个类中使用friend修饰说明。 友 元 * 友元类举例 class A { friend class B; public: void Display() {coutxendl;} private: int x; } class B { public: void Set(int i); void Display(); private: A a; }; 友 元 void B::Set(int i) { a.x=i; } void B::Display() { a.Display(); } 39 * 友元关系是单向的 如果声明B类是A类的友元,B类的成员函数就可以访问A类的私有和保护数据,但A类的成员函数却不能访问B类的私有、保护数据。 * 常类型 常类型的对象必须进
您可能关注的文档
- 124711_广告插图幻灯片.ppt
- 20133688tt宽带装维人员技能培训-宽带故障处理流程幻灯片.ppt
- 20140327金色LOFT个案分析不完全版幻灯片.ppt
- 20140606高考考务培训幻灯片.ppt
- A05 ReadyNAS 竞争分析幻灯片.ppt
- Access_15过程调用与参数传递幻灯片.ppt
- Access关系数据库简介幻灯片.ppt
- ACCESS实例教程(查询)幻灯片.ppt
- access数据库基础知识幻灯片.ppt
- ACS业务介绍幻灯片.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- ISO9001-2026质量管理体系标准版中英文及变化点解析.pdf VIP
- HGT 21629-1999 管架标准图(四).docx VIP
- 广州市民办学校申办审批表.doc VIP
- 无人机测绘技术与应用课件21--无人机驾驶员职业规划.ppt
- 2025年袋鼠数学LevelB试卷及答案.pdf VIP
- 《重症凝血病标准化评估中国专家共识(2025)》解读PPT课件.pptx VIP
- 《动物防疫法》培训解读课件.pptx VIP
- 无人机测绘技术与应用课件20--无人机飞行原理.ppt
- 先进控制技术及其应用.docx VIP
- 2025-2026学年济南版(2024)初中生物八年级上册《血液是物质运输的载体》教学设计.docx
原创力文档

文档评论(0)