第7章类与教据抽象 71蔻的定义 72双象的定义 73折的 74成数的特 75静成 76友元 7.7象的分象的引用 7.8冠象组 79常类理 人民邮电出版社 POSTS tEl OM PRE 点破此处放
第7章 类与数据抽象 7.1 类 的 定 义 7.2 对 象 的 定 义 7.3 构造函数和析构函数 7.4 成员函数的特征 7.5 静 态 成 员 7.6 友 元 7.7 对象的指针和对象的引用 7.8 对 象 数 组 7.9 常 类 型
类的基本特征有:封装性、继承性、 多态性。 类中的成员,根据访问权限分为三类: 私有、保护和公有。 人民邮电出版社 POSTS tEl OM PRE 动此映
类的基本特征有:封装性、继承性、 多态性。 类中的成员,根据访问权限分为三类: 私有、保护和公有
71类的定义 类的一般定义格式如下: cass public: private: 人民邮电出版社 POSTS tEl OM PRE 含处放映
7.1 类 的 定 义 类的一般定义格式如下: class { public: private: };
其中, class是定义类的关键字, 是符合C++规定的标识符。花括号内部是 类的说明部分(包括前面的类头),用来 说明该类的成员。类的成员包含数据成员 和成员函数两部分。从访问权限上来分 类的成员又分为:公有的( public)、私 有的( private)和保护的( protected) 类。公有的成员用 public说明,公有 部分往往是一些操作(即成员函数),它 是提供给用户的接口功能。 人民邮电出版社 POSTS tEl OM PRE 点破此处放
其中,class是定义类的关键字, 是符合C++规定的标识符。花括号内部是 类的说明部分(包括前面的类头),用来 说明该类的成员。类的成员包含数据成员 和成员函数两部分。从访问权限上来分, 类的成员又分为:公有的(public)、私 有的(private)和保护的(protected) 三类。公有的成员用public来说明,公有 部分往往是一些操作(即成员函数),它 是提供给用户的接口功能
这部分成员可以在程序中引用。私有的成 员用 private来说明,私有部分通常是一些 数据成员,这些成员用来描述该类中的对 象的属性,用户是无法访问它们的,只有 成员函数或经特殊说明的函数才可以引用 它们,它们是被用来隐藏的部分。 是类定义中成员函 数具体功能的实现部分,这部分包含所有 在类体内说明函数的具体功能。 人民邮电出版社 POSTS tEl OM PRE 动此映
这部分成员可以在程序中引用。私有的成 员用private来说明,私有部分通常是一些 数据成员,这些成员用来描述该类中的对 象的属性,用户是无法访问它们的,只有 成员函数或经特殊说明的函数才可以引用 它们,它们是被用来隐藏的部分。 是类定义中成员函 数具体功能的实现部分,这部分包含所有 在类体内说明函数的具体功能
【例71】下面给出一个关于时间的类的定 义,该类是对时间的抽象,该类的对象将 是一个具体的时间。 /类的说明部分: class lime private int hours int minute int second 人民邮电出版社 POSTS tEl OM PRE 动此映
【例7.1】下面给出一个关于时间的类的定 义,该类是对时间的抽象,该类的对象将 是一个具体的时间。 //类的说明部分: class Time{ private: int hour; int minute; int second;
ubIc Ime( void SetTime(int, int, int) void printmilitaryO void printstandardo; }; 类的实现部分 Time: Timeot hour= minute second =0; 1 人民邮电出版社 POSTS tEl OM PRE 动此映
public: Time(); void SetTime(int,int,int); void printMilitary(); void printStandard(); }; //类的实现部分 Time::Time(){ hour= minute = second =0;}
void Time: SetTime(int h, int m, int s) hour=(h>=0&&h=0&&m=0&&m<60)2s:0; 人民邮电出版社 POSTS tEl OM PRE 动此映
void Time::SetTime(int h, int m, int s) { hour = (h>=0&&h=0&&m=0&&m<60)?s:0; }
void Time: PrintMilitaryo cout<<(hour<10? 0 ) <<hour<<:<<(minute<10? 0 "")≤≤ minute<<endl: 人民邮电出版社 POSTS tEl OM PRE 动此映
void Time::PrintMilitary() { cout<<(hour<10? "0": "")<<hour<<":"<<(minute<10? "0": "")<< minute <<endl; }
void Time: Printstandardo cout<<(hour==oll hour==12? 12: hour%12)":"<<( minute<10?"0" ")<≤ minute ≤<":"<<( second<10?"0":"")≤≤ second<<(hour<12?AM": PM")<<end; 人民邮电出版社 POSTS tEl OM PRE 动此映
void Time::PrintStandard() { cout<<(hour==0|| hour==12? 12: hour%12)<< ":"<<(minute<10? "0": "")<< minute << ":"<<(second<10? "0": "")<< second<<(hour<12? " AM": " PM")<<endl; }