- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京林业大学 软件教研室 第6章 类和对象 本章主要内容 (1)掌握类与对象的概念、定义方法及二者的区别。 (2)掌握类的成员函数的定义、保存以及调用方法。 (3)掌握类中成员的访问机制和方法。 (4)了解对象的作用域和生存期。 (5)理解并掌握构造函数、析构函数、默认构造函数、缺省参数的构造函数和拷贝构造函数的含义、定义方法以及它们在对象的构造和撤消中的作用。 (6)理解并掌握当一个类的对象作为另一个类的数据成员时,其利用初始化表调用构造函数的方法和执行顺序。 (7)掌握堆对象和对象数组的使用。 (8)掌握类的静态成员(静态数据成员和静态成员函数)的概念、定义方法及其作用。 (9)掌握常对象与常成员(常数据成员和常成员函数)的概念、定义以及使用方法。 (10)掌握友元函数与友元类的概念、定义方法及其作用。 6.1 类与对象的定义 6.1.1 类的定义 类是把各种不同类型的数据(称为数据成员)和对数据的操作(称为成员函数)组织在一起而形成的用户自定义的数据类型。 C++中,类定义包括类说明和类实现两大部分。 说明部分提供了对该类所有数据成员和成员函数的描述; 实现部分则提供了所有成员函数的实现代码。 类定义的一般形式为: class 类名 { private: 数据成员或成员函数 protected: 数据成员或成员函数 public: 数据成员或成员函数 }; 各成员函数的实现代码 如:下例中定义描述图书的类定义。 class Record { private: //private成员 char bookname[20]; int number; public: //public成员 void regist(char *a,int b); void show(); }; 6.1.2 成员函数的定义 类中的成员函数可以在以下两处定义: (1)类内 class Record { private: char bookname[20]; int number; public: void regist(char *a,int b) { strcpy(bookname,a); number=b; } void show() { cout”名称:”booknameendl; cout”号码:”numberendl; } }; (2)类外 返回值类型 类名::成员函数名(参数说明) { 函数体 } class Record { private: char bookname[20]; int number; public: void regist(char *a,int b); void show(); }; void Record::regist(char *a,int b) { strcpy(bookname,a); number=b; } void Record::show() { cout”名称:”booknameendl; cout”号码:”numberendl; } 从类的设计者的视角来看,类定义的代码可分为接口部分与实现部分; 从类的使用者来看,看到的只是类的使用接口。 6.1.3 对象及指向对象的指针 1.对象的定义 类名 对象名表; 类是抽象的概念,而对象是具体的概念; 每个对象占用了各自的存储单元,每个对象都各自具有了该类的一套数据成员(静态成员除外),而所有成员函数是所有对象共有的。 每个对象的成员函数都通过指针指向同一个代码空间。 2.指向对象的指针 类名 *指针变量名表; Record book3; Record *p; p=book3; 6.1.4 访问对象的成员 访问对象的成员包括 读写对象的数据成员 调用它的成员函数 对象名.数据成员名 或 对象名.成员函数名(实参表) 指针变量名-数据成员名 或 指针变量名-成员函数名(实参表) (*指针变量名).数据成员名 或 (*指针变量名).成员函数名(实参表) 【例6-1】访问对象的成员。 6.1.5 指向类成员的指针 指向类成员的指针包括: 类数据成员指针 类成员函数指针 1.类数据成员指针 定义:类型 类名::*指针变量名; 指向:类数据成员指针变量名=类名::类数据成员名; 访问:对象名.*类数据成员指针变量名; 【例
您可能关注的文档
- 面向对象程序设计(C++)( 第二版) 课件 第2章 数据类型和表达式.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第3章 控制结构.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第4章 复合数据类型.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第5章 函数.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第6章 类与对象.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第7章 继承与派生.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第8章 多态性和虚函数.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第9章 模板和异常处理.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第10章 文件的输入输出.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第11章 Visual C++编程基础.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第07章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第08章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第09章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第10章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第11章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第12章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊习题答案 16110 面向对象的程序设计语言——C++(第二版)-习题参考答案.doc
- 面向对象的程序设计语言——C++ 教学课件 作者 陈志泊 王春玲 第2章.ppt
- 面向对象的程序设计语言——C++ 教学课件 作者 陈志泊 王春玲 第3章.ppt
- 面向对象的程序设计语言——C++ 教学课件 作者 陈志泊 王春玲 第4章.ppt
文档评论(0)