- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类和对象(一).ppt
陕西科技大学计算机系 第5章 类和对象(一) 5.1 类的定义 5.2 对象的定义 5.3 对象的初始化 5.4 成员函数的特性 5.5 静态成员 5.6 友元 5.7 对象的生存期 5.1 类的定义 5.1.1 什么是类 5.1.2 类的定义格式 1、类定义格式的构成 5.1.2 类的定义格式(续) 3、类定义的说明 5.1.2 类的定义格式(续) 4、示例(tdate.h) 5.1.2 类的定义格式(续) 作用域运算符:: 5.1.3 定义类时的注意事项 5.1.3 定义类时的注意事项(续) 5.2.1 对象的定义格式 5.2.2 对象成员的表示方法 5.2.2 对象成员的表示方法(续) 5.2.2 对象成员的表示方法(续) 5.3.1 构造函数和析构函数 1、构造函数与析构函数的功能 5.3.1 构造函数和析构函数(续) 示例(tdate1.h) 5.3.1 构造函数和析构函数(续) 5.3.1 构造函数和析构函数(续) 构造函数是成员函数,函数体可写在类体内,也可写在类体外; 5.3.1 构造函数和析构函数(续) 构造函数可以有一个或多个参数; 5.3.1 构造函数和析构函数(续) 5.3.2 缺省构造函数和缺省析构函数 5.3.3 拷贝初始化构造函数 5.3.3 拷贝初始化构造函数(续) 5.3.3 拷贝初始化构造函数(续) 5.3.3 拷贝初始化构造函数(续) 5.3.3 拷贝初始化构造函数(续) 5.3.3 拷贝初始化构造函数(续) 5.3.4 赋值 5.3.4 赋值(续) 5.3.4 赋值(续) 5.3.4 赋值(续) 输 出 5.3.4 赋值(续) 5.3.4 赋值(续) 5.3.4 赋值(续) 5.4 成员函数的特征 5.4.1 内联函数和外联函数 5.4.1 内联函数和外联函数(续) 例5.6:分析下列程序的输出结果。 5.4.1 内联函数和外联函数(续) 5.4.2 重载性 5.4.2 重载性(续) 例5.7:分析下列程序的输出结果。 5.4.2 重载性(续) 5.4.2 重载性(续) 输 出 5.4.3 设置参数的缺省值 一般成员函数和构造函数都可以被设置缺省参数值。 5.4.3 设置参数的缺省值(续) 例5.8:分析下列程序的输出结果。 5.4.3 设置参数的缺省值(续) 5.5 静态成员 目的: 解决数据共享问题,即不通过全局对象,而实现多个对象之间的数据共享。 5.5.1 静态数据成员 5.5.1 静态数据成员(续) 5.5.1 静态数据成员(续) 例5.10:分析下列程序的输出结果。 5.5.1 静态数据成员(续) 5.5.1 静态数据成员(续) 输 出 5.5.2 静态成员函数 5.5.2 静态成员函数(续) 例5.11:分析下列程序的输出结果。 5.5.2 静态成员函数(续) 输 出 5.5.2 静态成员函数(续) 5.5.2 静态成员函数(续) 5.5.2 静态成员函数(续) 5.5.2 静态成员函数(续) 5.6 友元 友元是C++提供的一种破坏数据封装和数据隐藏的机制。 通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息。 可以使用友元函数和友元类。 为了确保数据的完整性,及数据封装与隐藏的原则,建议尽量不使用或少使用友元。 5.6 友元 友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体中能够通过对象名访问 private 和 protected成员 作用:增加灵活性,使程序员可以在封装和快速性方面做合理选择。 访问对象中的成员必须通过对象名。 例5.12:使用友元函数计算两点距离 #include iostream #include math.h 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
文档评论(0)