- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 C++的类和对象 本章要点: ? 类和类对象的定义 ? 静态类成员的定义和应用 ? const类对象及其成员的定义和应用 ? 指向类成员指针的定义和应用 ? 构造函数和析构函数的定义和调用 ? 三种特殊的类:嵌套类、局部类和联合类 ? 类域的基本概念 6.1 循序渐进学理论 6.1.1 类的定义 6.2 典型实例练能力 6.2.1 典型实例一:整数集合的操作 【实例题目】 设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。 6.2.2 典型实例二: 简单的图书信息管理系统 【实例题目】 利用链表结构实现一个简单的图书信息管理系统,具有输入图书信息、显示库存图书信息和借出图书等操作,显示的信息包括图书的书名、作者和可借数量。 6.3 上机练习重应用 6.3.1 上机练习一:复数的运算(一) 【练习题目】 编写一个程序用于模拟复数的加、减、乘、除运算。 * * 1. 类的定义方法 类是对客观事物的一种高度抽象,是具有一组相同属性和操作的集合,因此它包括两个部分的内容:数据成员和成员函数,其定义格式如下: class 类名 { public: // … … private: // … … protected: // … … } 2. 数据成员 数据成员的声明方式和变量的声明方式基本相同,格式如下: 数据类型 数据成员名; 需要注意的是,在声明一个数据成员时: (1)不能采用auto、extern和register修饰符进行修饰; (2)只有采用static修饰符声明的静态数据成员才可以被显式初始化,它具有特殊的属性。非静态数据成员只能通过构造函数才能够被初始化,若试图在类体中直接初始化非静态数据成员,会导致编译错误。 3. 成员函数 成员函数在类体中的声明方式和普通函数的声明方式相同,其格式如下: 返回类型 成员函数名 ( [参数列表] ) { 函数体 } 成员函数可以在类体内被定义,也可以在类体外被定义。如果在类体外定义成员函数,必须先用域运算符“::”指出该成员函数所属的类,其定义格式如下: 返回类型 类名 :: 函数名 (参数列表) { 函数体 } 4. 访问限制 C++语言通过访问限定符public、private和protected将类成员分成三类:公有成员、私有成员和保护成员。 公有成员可以被该类的成员函数访问,也可以在程序的任意地方被任意访问。 私有成员只能被该类的成员函数或者该类的友元函数访问。友元是为了增加程序的灵活性而引入的概念,允许程序中的某些函数访问类中的私有成员。 保护成员对于派生类来说,就像是公有成员,可以被访问,对于程序的其他部分来说,就象是私有成员,不允许被访问。 6.1.2 类对象的定义 1. 类对象的定义 类可以被看作是一种自定义类型,用来定义具体的对象,格式如下: 类名 对象名; 例如,可以用学生类Student去定义对象张三: Student zhangShan; // 定义1个类对象 2. 动态类对象的创建 可以用new表达式创建动态的类对象,它的寿命期由程序员掌控,定义格式如下: new 类名 [(初始值)]; 其中初始值是可选项,若给出了初始值,系统会自动调用相应的构造函数初始化新创建的类对象,否则调用缺省构造函数进行初始化。 采用delete表达式释放动态类对象的格式如下: delete 指针名; 释放动态类对象数组的格式如下: delete [
文档评论(0)