高级语言C++程序设计 (第二版) 刘景、周玉龙編
高级语言C++程序设计 (第二版) 刘景、周玉龙编
第七章类与对象 类:是现实世界中客观事物的抽象,通常将众多的具有相同属性的 事物归纳、组合成为某个类。 c十+中的类:把数据及对象的操作和处理封装在一个程序模块中, 形成一个整体。(包括数据成员:用于表示属性;成员函数:用 于对数据的处理。) 使用类的优点:(P201 程序设计本身更有条理。 程序的可读性更好。 程序设计的过程真正像是机器部件的组装。 程序可由多个程序员设计变得方便和自然。 由于程序的零部件化,使得程序的可重用性变成切实可行的事情 通过类与对象而实现的面向对象程序设计的三大特征:(P202) 封装性 继承性 多态性
第七章 类与对象 类:是现实世界中客观事物的抽象,通常将众多的具有相同属性的 事物归纳、组合成为某个类。 C++中的类:把数据及对象的操作和处理封装在一个程序模块中, 形成一个整体。(包括数据成员:用于表示属性;成员函数:用 于对数据的处理。) 使用类的优点: (P.201.) ➢ 程序设计本身更有条理。 ➢ 程序的可读性更好。 ➢ 程序设计的过程真正像是机器部件的组装。 ➢ 程序可由多个程序员设计变得方便和自然。 ➢ 由于程序的零部件化,使得程序的可重用性变成切实可行的事情。 通过类与对象而实现的面向对象程序设计的三大特征: (P.202.) ➢ 封装性 ➢ 继承性 ➢ 多态性
第七章类与对象 71设计一个栈类 栈( stack):运算受限的线性表,其运算特点是后进先出。 (LIFO) 两个数据成员: float data[maxsize] int top; 三个成员函数对应着) void push( float a)H//将一个数据“压入”栈顶。 float pop(void)//将栈顶的数据“弹出”返回 bool empty(void)//判断当前栈是否为空(栈)。 //program 7-1. cpp //inlcude<iostream.h> const int maxsize=6
第七章 类与对象 ◼ 7.1 设计一个栈类 ➢ 栈(stack):运算受限的线性表,其运算特点是后进先出。 (LIFO) ➢ 两个数据成员: ➢ float data[maxsize]; ➢ int top; ➢ 三个成员函数(对应着): ➢ void push(float a);//将一个数据“压入”栈顶。 ➢ float pop(void);//将栈顶的数据“弹出”返回。 ➢ bool empty(void);//判断当前栈是否为空(栈)。 //program 7-1.cpp //inlcude<iostream.h> const int maxsize=6;
第七章类与对象 class stack float data[maxsize]; int top; public: stacki(vod);//构造函数 ~ stack(void)//析构函数 bool empty void); void push float a; float pop(void) Si stack:: stack(void top=OF cout<<“ stack initialize”<<end
第七章 类与对象 class stack { float data[maxsize]; int top; public: stack(void); //构造函数 ~stack(void);//析构函数 bool empty(void); void push(float a); float pop(void); }; stack::stack(void){ top=0; cout<<“stack initialize.”<<endl; }
第七章类与对象 stack:: Stack ( void cout<<“ stack destroyed”<<endl bool stack:empty ( void return top==OF void satck: push(float art if(top==maxsize cout<<“ Stack overflow!”<<end returni dataltop]=ai top+十
第七章 类与对象 stack::~stack(void) { cout<<“stack destroyed”<<endl; } bool stack::empty(void){ return top==0; } void satck::push(float a){ if(top==maxsize){ cout<<“Stack overflow!”<<endl; return; } data[top]=a; top++; }