- 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.hclass 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_
您可能关注的文档
最近下载
- 那智不二越机器人flexgui toolbox操作说明书.pdf VIP
- 企业信息化从战略的规划到蓝图实现免费版.ppt VIP
- 2025年中考化学第一轮复习讲义:常见的盐(重点)含解析.pdf VIP
- 面神经麻痹(共32张PPT).pptx
- 集团企业信息化战略制定与蓝图规划方案(189页PPT).pptx VIP
- 村志篇目汇总.doc VIP
- 蔡司三坐标-高级培训教程.pptx VIP
- FANUC数控系统0i-D PMC编程说明书(非常详细).pdf VIP
- 重庆交通大学2022-2023学年第2学期《线性代数》期末试卷(B卷)及参考答案.docx
- 2025届期贵州省毕节市数学八年级第一学期期末调研模拟试题含解析.doc VIP
原创力文档

文档评论(0)