9.2类与对象的声明和定义类的定义C++的类是由C中的结构体演变而来的,称为抽象数据类型声明类的一般形式为类名class注:(1)类声明以关键字class开始,private :其后跟类名私有数据和函数;(2)类所声明的内容用花括号括起public :来,这一对花括号号“”之间的内公有数据和函数;容称为类体protected :(3)类中定义的数据和函数分别是保护数据和函数;数据成员和成员函数。10
10 9.2 类与对象的声明和定义 一、 类的定义 C++的类是由C中的结构体演变而来的,称为抽象数据类型。 1、声明类的一般形式为 class 类名 { private: 私有数据和函数; public: 公有数据和函数; protected: 保护数据和函数; }; 注:(1)类声明以关键字class开始, 其后跟类名。 (2)类所声明的内容用花括号括起 来,这一对花括号“{ }”之间的内 容称为类体。 (3)类中定义的数据和函数分别是 数据成员和成员函数
2、访问权限例:(1)关键字private、public和protectedclassStudent(成员访问限定符)定义的成员访问权限分别是私有、公有和保护的,顺private :序可以是任意;intnum;charname[20];char sex;(2)私有部分的数据成员和成员函数只public :能在该类的范围内被本类的成员函数访问:公有部分的成员既可以被本类voiddisplay()的成员函数访问,也可在类外被该类的对象访问;cout<<num<<name<<sex;(3)所有成员默认声明为private权限11
11 2、访问权限 (1)关键字private 、public和protected (成员访问限定符)定义的成员访问 权限分别是私有、公有和保护的,顺 序可以是任意; (2)私有部分的数据成员和成员函数只 能在该类的范围内被本类的成员函数 访问;公有部分的成员既可以被本类 的成员函数访问,也可在类外被该类 的对象访问; (3)所有成员默认声明为private权限。 例: class Student { private: int num; char name[20]; char sex; public: void display( ) { cout<<num <<name<<sex; } };
例9-1定义一个Person类Personclassprivate :char/阻止外界对其访问Name[20];intAge;Sex;charpublic:void1/登录个人信息Register(char*name, int age, char sex);void1/输出个人信息ShowMe();1812
12 例9-1 定义一个Person类 class Person { private: char Name[20]; //阻止外界对其访问 int Age; char Sex; public: void Register(char *name, int age, char sex); //登录个人信息 void ShowMe( ); //输出个人信息 };
类与对象的声明和定义9.2对象对象是类的实例,声明了类之后,就可以用类名定义该类的对象。对象必须先声明,再使用。对象声明方法为:<类名><对象1>,<对象2>,.….;例如:classPerson1;Personperson1,person2;13
13 9.2 类与对象的声明和定义 一、 对象 ◆对象是类的实例,声明了类之后,就可以用类名定义该 类的对象。 ◆对象必须先声明,再使用。 ◆对象声明方法为: <类名> <对象1>,<对象2>,. ; 例如:class Person { . }; Person person1, person2;
二、对象的定义方法2、在声明类类型的同时定义对象classPersonperson1,person2;注:(1)注意两种定义方式对应对象的作用范围(2)类是对象的类型,不占内存单元;对象是该类型的变量,定义的同时为其分配存储空间。14
14 二、对象的定义 方法2、在声明类类型的同时定义对象 class Person { . } person1, person2; 注:(1)注意两种定义方式对应对象的作用范围。 (2)类是对象的类型,不占内存单元;对象是该类型的变量,定义 的同时为其分配存储空间