- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计第五章节类和对象(一)
第五章 类和对象(一) 第一节 类的定义 第五章 一、类的定义: 类:是一种复杂的数据类型,它是将不同类型的 数据和与这些数据相关的操作封装在一起的集合体。 因此,类具有更高的抽象性,类中的数据具有隐藏 性,类还具有封装性。 二、类的定义格式: 类的定义格式包括:说明部分和实现部分。 说明部分:说明该类中的成员。 实现部分:对成员函数的定义。 成员:包含数据成员和成员函数。 成员函数:是用来对数据成员进行操作的,又称为 “方法”。 第五章 概括起来说,说明部分将告诉使用者“干什么”,而 实现部分是告诉使用者“怎么干”。因此,使用者关心 的往往是说明部分,而实现部分是一些不必关心的信 息。 类的一般定义格式: class 类名 { public: 成员函数或数据成员的说明 private: 成员函数或数据成员的说明 }; 各个成员函数的实现 第五章 说明: 1、类的成员包含成员函数和数据成员两部分。从访问 权限上来分,类的成员分为: 公有的(public)、私有的 (private)和保护的(protected)三类。 ⑴、关键字public, private 和 protected 被称为访问 权限修饰符或访问控制修饰符,用它们来说明类成 员的访问权限。它们在类体内出现的先后顺序无关, 并且允许多次出现。 ⑵、公有部分往往是一些操作(即成员函数)。它为用户 提供接口功能,公有成员可以在程序中引用。 ⑶、私有部分通常是一些数据成员。这些成员是用来 描述该类中的对象的属性的,是被用来隐藏的部分 第五章 用户无法访问它们,只有成员函数或经特殊说明的 函数才可以引用数据成员。 2、 各个成员函数的实现是类定义中的实现部分,这 部分包含所有在类体内说明的函数的定义。如果一 个成员函数在类体内定义了,实现部分将不出现。如 果所有的成员函数都在类体内定义,则实现部分可以 省略。如果成员函数定义在类体外,则须在成员函数 头的前面要加上该函数所属类的标识,这时使用作 用域运算符 ∷ 。 作用域运算符的使用格式如下: 函数类型 类名 ∷ 函数名 ( 参数表 ) 第五章 例1、定义一个关于日期的类。 class Tdate { public : void SetDate(int y,int m,int d); int ISLeap Year(); void Print (); private: int year,month,day; }; void TDate ∷ SetDate(int y,int m,int d) { year=y; month=m; 第五章 day=d; } int TDate ∷ ISLeapYear() { return (year%4==0 year%100!=0)||(year%400==0); } void TDate ∷ Print() { coutyear.month.dayendl; } 如果例中将成员函数的实现部分(即函数定义)都 写在了类体内, 那么类的实现部分就可省略了。因此 关于日期类的定义还可以写成如下程序: 第五章 class TDate { public: void SetDate(int y,int m,int d) { year=y;month=m;day=d; } int IsLeapYear() { return (year%4==0year%100!=0)||(year%400==0); } void Print() { coutyear.month.dayendl; } private: int year,month,day; }; 第五章 例2、定义一个点类 class TPoint { public: void SetPoint(int x, int y); int Xcoord() {return X;} int Ycoord() {return Y;}
文档评论(0)