15.2.1类的定义与实现 ■类中定义的数据和函数分别称为数据成员和成员函 数。类的定义格式一般地分为说明部分和实现部分 说明部分是用来说明该类中的成员,包含数据成员 的说明和成员函数的说明。成员函数是用来对数据 成员进行操作的,又称为“方法”。实现部分是成 员函数的定义。概括起来,说明部分将告诉使用者 “千什么”,而实现部分是告诉使用者“怎么 干”。。类的定义与C语言中的结构体类似,但结 构体中只能定乂属性不能定乂对这些属性进行操作 的方法(函数)
◼15.2.1类的定义与实现 ◼类中定义的数据和函数分别称为数据成员和成员函 数。类的定义格式一般地分为说明部分和实现部分。 说明部分是用来说明该类中的成员,包含数据成员 的说明和成员函数的说明。成员函数是用来对数据 成员进行操作的,又称为“方法”。实现部分是成 员函数的定义。概括起来,说明部分将告诉使用者 “干什么”,而实现部分是告诉使用者“怎么 干”。。类的定义与C语言中的结构体类似,但结 构体中只能定义属性不能定义对这些属性进行操作 的方法(函数)
类的定义使用关键字 class,其后面的标识符定义 新的类型,可以使用这个标识符说明类的变量和指向类的指 ■例:定义一个名为 TPerson的类,包括这个人的姓名、年龄 性别、家庭住址、电话等不同属性,以及对这些属性操作的 两个函数 class TPerson〃通常用T字母开始的字符串作为类名,以示 与∥对象、函数名区别 i private char name[20] Int age char sex char address[20] long tel public void setdata() void pi rint( };∥分号不可缺少
◼ 类的定义使用关键字class,其后面的标识符定义了一个 新的类型,可以使用这个标识符说明类的变量和指向类的指 针。 ◼ 例:定义一个名为TPerson的类,包括这个人的姓名、年龄、 性别、家庭住址、电话等不同属性,以及对这些属性操作的 两个函数。 ◼ class TPerson //通常用T字母开始的字符串作为类名,以示 与 //对象、函数名区别 ◼ { private: ◼ char name[20]; ◼ int age; ◼ char sex; ◼ char address[20]; ◼ long tel; ◼ public: ◼ void setdata( ); ◼ void print( ); ◼ }; //分号不可缺少
口面向对象的程序设计强调信息隐藏,将实现细 节和不允许外部访问的部分隐藏起来,为此它 把类成员分为公开的( public)与私有的 private)两类。外界不能直接访问一个对象的 私有部分,它们与对象间的信息传送只能通过 公开成员进行。上面的例子中一共定义了7个成 员:5个成员数据,2个成员函数。成员数据 般不能让外界直接访问,只能通过本类的成员 函数访问。所以把5个成员数据定义成私有成员 (用 private定义),把成员函数定义为公开成员 (用 public定义)
◼ 面向对象的程序设计强调信息隐藏,将实现细 节和不允许外部访问的部分隐藏起来,为此它 把类成员分为公开的(public)与私有的 (private)两类。外界不能直接访问一个对象的 私有部分,它们与对象间的信息传送只能通过 公开成员进行。上面的例子中一共定义了7个成 员:5个成员数据,2个成员函数。成员数据一 般不能让外界直接访问,只能通过本类的成员 函数访问。所以把5个成员数据定义成私有成员 (用private定义),把成员函数定义为公开成员 (用public定义)
关键字 private、 public被称为访问权限修饰符 或访问控制修饰符。在一个类的定义中,关键 意的。ub]ic出现的顺序与次数可以是任 子 private 规定,类成员隐含的访问权限是私 有的,不加声明的成员都默认为私有的。因此, 最前面的关键字 private可以缺省。而结构体类 型的成员的隐含访问权限是公开的。 类的实现,就是进一步定义它的成员函数。 成员函数是类定义中用以描述对象行为的成员。 在成员函数中,可以直接访问类的所有成员 成员函数的定义方式与普通函数大体相同,以 下几点需加以说明:
◼关键字private 、public被称为访问权限修饰符 或访问控制修饰符。在一个类的定义中,关键 字private 、public出现的顺序与次数可以是任 意的。C++规定,类成员隐含的访问权限是私 有的,不加声明的成员都默认为私有的。因此, 最前面的关键字private可以缺省。而结构体类 型的成员的隐含访问权限是公开的。 ◼类的实现,就是进一步定义它的成员函数。 成员函数是类定义中用以描述对象行为的成员。 在成员函数中,可以直接访问类的所有成员。 成员函数的定义方式与普通函数大体相同,以 下几点需加以说明:
①成员函数可以在类中定义。例如 ◆ class IPerson private char name 20] nt age char sex; char address[20] long tel public void setdata( i strcpy(name, liling sex strcpy(address, 249 shanghailu") tel=3041725;} ■ void print( {cout<name<<","<<age<","<<sex<<","<<addressx","<<telk<endl;}
◼ ①成员函数可以在类中定义。例如: ◼ class TPerson ◼ { private: ◼ char name[20]; ◼ int age; ◼ char sex; ◼ char address[20]; ◼ long tel; ◼ public: ◼ void setdata( ) ◼ { strcpy(name,"liling"); ◼ age=18; ◼ sex='f'; ◼ strcpy(address,"249 shanghailu"); ◼ tel=3041725; } ◼ void print( ) ◼ { cout<<name<<","<<age<<","<<sex<<","<<address<<","<<tel<<endl; } ◼ };