网站大量收购闲置独家精品文档,联系QQ:2885784924

c++1类与对象ppt.ppt

  1. 1、本文档共168页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c++1类与对象ppt.ppt

结构化程序设计的优点与缺陷 (1)优点 ①整体思路清楚,目标明确。 ②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。 ③在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。 (2)缺点 ①对较复杂系统,难以控制,用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。 ②系统的可扩展性较差。不能适应事物变化的要求。 ③软件的可重用性差。 课程总体安排 理论:32学时 实验:24学时 * * double GetDistance(CPoint start, CPoint end) //友元函数 { double d; //友元函数可以访问类的私有成员 d=sqrt((end.X-start.X)*(end.X-start.X) + (end.Y-start.Y)*(end.Y-start.Y) ); return d; } void main() { CPoint p1(1,1), p2(4,5); double d; d = GetDistance(p1,p2); cout 两点之间的距离是: d endl; } * * 一个类的成员函数可以是另一个类的友元。例如,教师应该可以修改学生的成绩(访问类学生的私有成员),将教师类的成员函数ChangeGrades()声明为学生类的友元 Class Cstudent; Class CTeacher { public: //教师的成员函数,修改某学生的成绩 void ChangeGrades(Cstudent s); private: …… }; * * void CTeacher ::ChangeGrades(Cstudent s) { s. Grade[0]=78; } Class Cstudent { public: …… //将教师类的成员函数说明为学生类的友元函数 friend void CTeacher::ChangeGrades(Cstudent s); private: int Grade[3]; …… }; * * 1.10.2 友元类 一、友元类 一个类可以作另一个类的友元称为友元类。当一个类作为另一个类的友元时,意味着这个类的所有成员函数都是另一个类的友元函数,可以访问另一个类的私有成员。 * * 1.10.2 友元类 二、声明友元类的语法形式 friend class 类名; 例如:将A类声明为B类的友元类 Class B { …… friend class A; // 声明A为B的友元类 …… }; * * 【例1.18】定义一个日期类,包括年月日和小时、分钟、秒。 分析:首先定义一个时间类CTime,而日期类CDate的数据成员包括年(year)月(month)日(day)和一个CTime的类对象。日期类CDate 的成员函数disaplayDateandtime()显示日期和时间,要访问CTime类的私有成员,因此将日期类CDate声明为时间类CTime的友元类。 * * #include iostream.h class CTime { public: CTime(int h=0,int m=0,int s=0); //声明CDate类为CTime类的友元类,则CDate中所有的成员函数都是CTime类的友元函数,可以访问CTime类的私有成员或保护成员。 friend class CDate ; //声明友元类 private: int hour; int minute; int sec; }; * * CTime::CTime(int h,int m,int s) { hour=h; minute=m; sec=s; } class CDate { public: CDate(int y=1990,int m=1,int d=1,int h=0,int mi=0,int s=0); void disaplayDateandtime(); private: int month, day, year; CTime t; }; * * CDate::CDate(int y,int m,int d,int h,int

文档评论(0)

5566www + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档