- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++类的构成
用class来构造,声明class的语法同C中声明struct相似,但class还可包含函数声明。
Chap3 类和对象
例:class Point{
int x, y;
public:
void SetPoint(int, int);
int GetX( );
int GetY( );
};
1.基本格式:
class 类名{
private:
私有数据成员;
私有成员函数;
protected:
受保护数据成员;
受保护成员函数;
public:
公有数据成员;
公有成员函数;
}; //常范错误:“;”漏掉啦!
各成员函数的实现(定义部分)
①访问权限的说明顺序和次数是任意的
②当私有段成员处于类声明中的第一部分,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. HYPERLINK 课堂例题/类声明.doc 巩固练习——1(类声明)
成员函数的定义(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
您可能关注的文档
- 刘文秀 机械的拆卸与装配.ppt
- 零散居民新装流程.ppt
- 刘文秀 机械维护与修理的基础知识.ppt
- 刘文秀 机械设备的安装.ppt
- 流体密封技术Microsoft PowerPoint - 1绪论.pdf
- 流体密封技术Microsoft PowerPoint - 3垫片密封-1中低压设备.pdf
- 流体密封技术Microsoft PowerPoint - 3垫片密封-2高压设备密封.pdf
- 流体密封技术Microsoft PowerPoint - 4填料密封-1软填料.pdf
- 流体密封技术Microsoft PowerPoint - 4填料密封-2硬填料.pdf
- 流体密封技术Microsoft PowerPoint - 4填料密封-3成型填料.pdf
最近下载
- 徒手整形协议书模板.docx VIP
- 2022年9月全国青少年软件编程(图形化)等级(三级)考试卷.pdf VIP
- 第二章法的渊源、分类及效力.ppt VIP
- 《李清照》诗词109篇大全集.pdf VIP
- 《高分子防水卷材》课件.ppt VIP
- 河北省石家庄市2024-2025学年高一下学期期末考试 数学试卷[含答案].docx
- 中国人民大学《法理学》课件-第六讲 法的渊源与效力.pptx VIP
- 法理学—法的渊源、分类和效力.ppt VIP
- 法理学第四章_法的渊源、分类、效力.ppt VIP
- 柯尼卡美能达 柯美 bh 246 236 226 216 206 复印机中文维修手册 (1).pdf VIP
文档评论(0)