Chap3 类和对象800.docVIP

  • 1
  • 0
  • 约1.07万字
  • 约 28页
  • 2016-11-27 发布于河南
  • 举报
Chap3 类和对象800

Chap3 类和对象 3.1 C++类的构成 例:class Point{ int x, y; public: void SetPoint(int, int); int GetX( ); int GetY( ); }; 1.基本格式: ①访问权限的说明顺序和次数是任意的 ②当私有段成员处于类声明中的第一部分,private关键字可以省略 ③数据成员的声明同普通变量的声明相同,其类型可以是任意的,但不能使用auto、extern、register修饰数据成员 ④不能在类的声明部分初始化数据成员 2.类成员使用说明 私有成员:只有类本身的成员函数能够访问,任何类以外的函数对私有成员的访问都是非法的,如Point类中x, y 公有成员:提供了类的外部界面,允许类的使用者(对象)访问,即可以通过类的公有成员访问这个类,如Point类中的SetPoint(int, int) 受保护成员:只能由类本身及其派生类的函数访问(继承机制) 因此,使用私有数据隐藏由类对象操纵的数据,然后提供一些成员函数来访问这些数据,通常,使用和改变这些数据的能力和实现细节是被隐藏起来的。 3.类的构造举例 —— 字符串类 要求:能够修改字符串内容、获取字符串长度和内容。 //string_1.h class String{ private: //私有段,可以省略 int length; // length和content为私有成员 char *contents; public: // 公有段开始 int Set_Content(char * ); //设置字符串;声明时,可以只指出函数所带参数的类型 int Get_Length( ); //取字符串长度 char *Get_Content( ); //取字符串内容 }; 4.巩固练习——1(类声明) 3.2 成员函数的定义(Member Function) 1.两种定义方式: 在类体中声明,而在类外定义。 在类外定义时,必须在函数名前缀上类名,以标明此函数所属的类。 如,上例中的String类中的三个成员函数可定义如下: //string_1.cpp //功能:设置私有变量contents的值,同时计算其长度 int String::Set_Content(char *conts) { int i=0; contents=conts; //将字符串赋给私有变量contents while( *conts++ != ‘\0’ ) i++; //求字符串长度 length=i; //将长度赋给私有变量length return 1; } //功能:获取字符串的长度 int String::Get_Length( ) { return length; //返回私有变量length } //功能:获取字符串的值 char * String::Get_Content( ) { return contents; //返回私有变量contents } 注意: 在所定义的成员函数名之前应缀上“类名::”,如“String::” 函数的返回类型一定要与函数声明时的类型相匹配 在类体内定义。对于一些简单的成员函数,可以在类体中定义。 在类体内定义的成员函数被当作内联函数处理 2.内联函数的两种定义方式 隐式定义 —— 类体内定义 //point.h class Point{ int x, y; public: void SetPoint(int vx, int vy) int GetX( ){ return x; } int GetY( ){ return y; } }; //string_1.h class String{ private: int length; char *contents; public: int Set_Content(char * ); int Get_Length( ){ return length; } char *Get_

文档评论(0)

1亿VIP精品文档

相关文档