《C++实例教学(类的应用-01).docx》由会员分享,可在线阅读,更多相关《C++实例教学(类的应用-01).docx(5页珍藏版)》请在金锄头文库上搜索。
1、 C+实例教学(类的应用-01)类的概念抓住了程序的本质。程序的根本元素是数据。而函数是围绕数据进展处理和操作。抓住了数据这个“纲”,程序中关系简单的各种函数就变得脉络清晰,可以随着相应的数据组合成类,类的使用使得:* 程序设计本身更有条理了;* 程序的可读性更好了;* 程序设计的过程真正象是机器部件的组装;* 由于程序的零部件化,使得程序的可重用性变成切实可行的事。为了学会OOP方法,首先让我们看看C+程序中类及其对象是怎样工作的。 9.1 设计一个栈类 栈(stack)是程序设计过程中常常遇到朝气一种数据构造形式,它对于数据的存放和操作有下面这样的特点:1) 它只有一个对数据进展存入和取出
2、的端口;2) 后进者先出,即最终被存入的数据将首先被取出。其形式很象一种存储硬币的小容器,每次只可以从顶端压入一个硬币,而取出也只可以从顶端进展,即后进先出。这样的数据存储和治理形式在一些程序设计中很有用。例如,编译系统中(这是一类比拟简单的程序),对于函数调用的处理、对于表达式计算的处理,都利用了栈这样的数据构造。 下面是一个关于栈的程序: / program 6_1.h#includeconst int maxsize=6;/ enum boolafalse,true; /*注:假如在TC中调试,应加上这一句*/class stackfloat datamaxsize;int top;pu
3、blic:stack(void);stack(void);bool empty(void);void push(float a);float pop(void);stack:stack(void)top=0;cout“stack initialized.“endl;stack:stack(void)cout“stack destoryed.“endl;bool stack:empty(void)return top=0?true:false;void stack:push(float a)if(top=maxsize)cout“Stack is full!“endl;return;datato
4、p=a;top+;float stack:pop(void)if(top=0)cout“Stack is underflow!“endl;return 0;top-;return datatop;void main()stack s1,s2;for(int i=1;i=maxsize;i+)s1.push(2*i);coutendl;for(i=1;i=maxsize;i+)couts1.pop()“ “;for(i=1;imaxsize;i+)s1.push(2.5*i);for(i=1;i=maxsize;i+)s2.push(s1.pop();docouts2.pop()“ “;while(!(s2.empty();