第 7章 类与对象.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 7章 类与对象 7.1 设计一个栈类 7.2 类和对象的说明 7.3 对象的初始化、构造函数与析构函数 7.4 类的定义及其应用 7.5 类的静态(static)成员及常量(const)成员 7.6 友元 7.7 类之间的关系 7.8 自定义类中的运算符重载 7.9 结构体与联合体 1.5 C++程序中用到的cin与cout是( )。 A、系统预定义的流类对象(名) B、系统预定义的流类类型(名) C、屏幕和键盘 D、程序员自定义的变量(名) 1.2 关于类定义格式的描述中,( )是错误的。 A、必须以关键字class开头对类进行定义 B、类中包含数据成员和成员函数 C、类中成员有三种访问属性:公有、私有和保护 D、数据成员的访问属性都应该是私有的 1.5 关于类定义格式的描述中,( )是错误的。 A、必须以关键字class开头对类进行定义 B、类中包含数据成员和成员函数 C、类中成员有三种访问属性:公有、私有和保护 D、在一个类的类体定义中能有其它类的定义 7.1 设计一个栈类 -- 栈(stack)是程序设计过程中经常碰到的一种数据结构形式,它对于数据的存放和操作有下面这样的特点: (1)它只有一个对数据进行存入和取出的端口; (2)后进者先出,即最后被存入的数据将首先被取出。其形式很像一种存储硬币的小容器,每次只可以从顶端压入一个硬币,而取出也只可从顶端进行,即后进先出。 这样的数据存储和管理形式在一些实际的程序设计中很有用 当要设计一个处理某类问题的自定义类(类型)时,首先要对问题进行分析,抽象出该类所要处理的数据信息,进而设立相呼应的各数据成员;而后考虑准备对这些数据信息要施加哪些操作,从而进一步抽象出该类的各成员函数。 7.1 设计一个栈类 -- 栈中需要保存一批同类型的数据,可用一个数组来实现。对数据的操作总从栈顶进行,需要设一个变量记录栈顶位置。从而抽象两个数据成员: float data [maxsize]; //data中存放栈的实际数据 int top; //top为栈顶位置 ? 而后考虑准备对栈中数据要施加哪些操作,而抽象出其成员函数: void push (float a); //将数据a“压入”栈顶 float pop (void); //将栈顶数据“弹出”并返回 bool2 empty(void); //判断栈是否为空 ? 3) 使用示例 为了显示对象的“诞生”与“死亡”信息, 还可对所设计的栈类加入构造与析构函数。 main函数中说明stack类型的对象s1、s2来表示两个具体的栈,进而通过类成员函数对那两个具体的栈进行不同的操作。 #include iostream.h const int maxsize=6; enum bool2 {FALSE,TRUE}; //因VC中bool、false、true均为保留字。 //或去掉改行,直接用bool。 class stack { float data [maxsize]; int top; public: stack (void); ~stack(void); bool2 empty(void); void push (float a); float pop (void); }; stack::stack(void){ top=0; //将“当前调用者对象”的私有数据top置为0 //注,等同于:(*this).top=0; //也等同于:this-top=0; coutstack initialized.endl; } /* 类成员函数内(定义处)的实现代码中,凡没显式给出对象名(类变量名)而对类成员进行的访问或使用,均被解释为是对“当前调用者对象”即(*this)的成员进行访问或使用。 */ stack::~stack(void){ coutstack destroyed.endl; } ? bool2 stack::empty(void){ return top==0?TRUE:FALSE; } ? void stack::push (float a) { if (top==maxsize){ cout stack is full! endl; return; } data[top]=a; top ++; } float stack::pop (void) { if (top==

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档