清华大学出版社 TSINGHUA UNIVERSITY PRESS 在本类中没有指定的操作一律不能执行。这当然安 全了,但是谁来通知执行 display函数呢?它无法 启动,缺少对外界的接口。因此,不能把全部成 员与外界隔离,一般是把数据隐蔽起来,而把成 员函数作为对外界的接口,譬如可以从外界发出 个命令,通知该对象执行 display函数,输出某 学生的有关数据。 类的成员包括两大类,一类是“私有的”( private), 即外界不能调用;另一类是“公用的”( public), 有的书译为“公有的”,即公开的,外界可以调 用(稍后还要介绍一类即“受保护的”( protected) 可以将上面类的声明改为
在本类中没有指定的操作一律不能执行。这当然安 全了,但是谁来通知执行display函数呢?它无法 启动,缺少对外界的接口。因此,不能把全部成 员与外界隔离,一般是把数据隐蔽起来,而把成 员函数作为对外界的接口,譬如可以从外界发出 一个命令,通知该对象执行display函数,输出某 一学生的有关数据。 类的成员包括两大类,一类是“私有的”(private), 即外界不能调用;另一类是“公用的”(public) , 有的书译为“公有的”,即公开的,外界可以调 用(稍后还要介绍一类即“受保护的”(protected)。 可以将上面类的声明改为
清华大学出版社 TSINGHUA UNIVERSITY PRESS class stud private 声明以下部分为私有的 int num; char name [10] char sex i public: ∥声明以下部分为公用的 void display cout<<num: <<num<<end; cout<< name: <<name<<endl cout<<"sex:"<sex<endl;}∥以上4行是操作代码 stud stud1, stud2 ∥定义了两个stud类的对象 现在声明了 display函数是公用的,外界就可以调用 该函数了
class stud {private: //声明以下部分为私有的 int num; char name[10]; char sex ; public: //声明以下部分为公用的 void display( ) {cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; } //以上4行是操作代码 }; stud stud1,stud2; //定义了两个stud 类的对象 现在声明了display函数是公用的,外界就可以调用 该函数了
如果在类的声明中既不指定 private,也不指定 public, 则系统就认为是私有的(第一次的类声明就属此 情况)。 顺便介绍在面向对象程序设计中的几个名词:类中 的成员函数称为“方法”,“方法”是对数据的 操作。一个“方法”对应一种操作。显然,只有 被声明为 public的方法(成员函数)才能被对象外 界所激活。外界是通过发“消息”来激活有关方 法的。所谓“消息”,其实就是一个命令,由程 序语句来实现。例如想输出对象stud1中的学生学 号、姓名、性别等信息,可以在程序中写 stud l display; 这就是向对象stud1发出的一个“消息”,通知它执 行 display“方法”(即 display函数)。在这里一个 语句中涉及到3个术语:对象、方法和消息
如果在类的声明中既不指定private,也不指定public, 则系统就认为是私有的(第一次的类声明就属此 情况)。 顺便介绍在面向对象程序设计中的几个名词:类中 的成员函数称为“方法”, “方法”是对数据的 操作。一个“方法”对应一种操作。显然,只有 被声明为public的方法(成员函数)才能被对象外 界所激活。外界是通过发“消息”来激活有关方 法的。所谓“消息”,其实就是一个命令,由程 序语句来实现。例如想输出对象stud1中的学生学 号、姓名、性别等信息,可以在程序中写 stud1.display( ); 这就是向对象stud1发出的一个“消息”,通知它执 行display“方法”(即display函数)。在这里一个 语句中涉及到3个术语:对象、方法和消息
清华大学出版社 TSINGHUA UNIVERSITY PRESS 归纳以上对类型的声明,可以得到其一般形式: class类名 private 私有的数据和成员函数; public: 公用的数据和成员函数; C++增加了clas型后,仍保留了结构体类型 (struct) 和共用体类型( union),而且把它们的功能也扩展 了,允许在声明的结构体和共用体类型中包括成 员函数,也就是可以用 struc和unon来声明一个类 型。但它们和ca声明的类有所区别
归纳以上对类型的声明,可以得到其一般形式: class 类名 {private : 私有的数据和成员函数; public: 公用的数据和成员函数; }; C++增加了class类型后,仍保留了结构体类型(struct) 和共用体类型(union),而且把它们的功能也扩展 了,允许在声明的结构体和共用体类型中包括成 员函数,也就是可以用struct和union来声明一个类 型。但它们和class声明的类有所区别
清华大学出版社 TSINGHUA UNIVERSITY PRESS 用 struct声明的类,如果不作 private或 public声明, 系统将其成员默认定为 public(公用的),在需要 时可以自己用显式声明重新指定为 private或 public 用 union声明的类,如果不作 private或 public声明, 系统将其成员默认定为 public(公用的),且不能 改变。 用 classi声明的类,如果不作 private或 public声明,系 统将其成员默认定为 private(私有的),在需要 时可以自己用显式声明改变
用struct声明的类,如果不作private或public声明, 系统将其成员默认定为public(公用的),在需要 时可以自己用显式声明重新指定为private或public。 用union声明的类,如果不作private或public声明, 系统将其成员默认定为public(公用的),且不能 改变。 用class声明的类,如果不作private或public声明,系 统将其成员默认定为private(私有的),在需要 时可以自己用显式声明改变