《高级语言C++程序设计》教材PPT教学课件(第二版)第七章 类与对象

高级语言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 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 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++; }

第七章类与对象 float stack: pop(void if(top==0 cout<<“ An empty stack”<<endl return o p return data[]i void main(t stack s1,s2: for(int i=1; i<=maxsize; i++) s1. push (2*i; or(i=1; i<=maxsize; i++) cout<<s1popO<<““F
第七章 类与对象 float stack::pop(void) { if(top==0){ cout<<“An empty stack!”<<endl; return 0; } top--; return data[top]; } void main(){ stack s1,s2; for(int i=1;i<=maxsize;i++) s1.push(2*i); for(i=1;i<=maxsize;i++) cout<<s1.pop()<<“ “;

第七章类与对象 void main dt stack s1, s2 for(int i=1; i<=maxsize;i++ s1 push(2*i; for(i=lii<=maxsizeji++ cout<<s1pop(<<““ for(i=1;i<=maxsize;i++) s1. push (2.5*i for(i=1; i<=maxsize; i ++) s2. push(s1 popO)i cout<<enda do cout<<s2popO<<““ while((s2 empty o) cout<<end;y
第七章 类与对象 void main(){ stack s1,s2; for(int i=1;i<=maxsize;i++) s1.push(2*i); for(i=1;i<=maxsize;i++) cout<<s1.pop()<<“ “; for(i=1;i<=maxsize;i++) s1.push(2.5*i); for(i=1;i<=maxsize;i++) s2.push(s1.pop()); cout<<endl; do cout<<s2.pop()<<“ “; while(!(s2.empty())); cout<<endl;}

第七章类与对象 72类和对象的说明 个类说明的常用格式为: class private: public. ; 类成员分为:数据成员和成员函数。 注:类的成员函数定义,既可以放在类定义体内,也可以放在类 定义体外。如果放在外面,要用“:”来限定。(放在类 体外定义时,类体内必须有其函数原型。) 类对象的声明方式:(类对象也称:类变量或类的实例) 类名>…<对象名n
第七章 类与对象 ◼ 7.2 类和对象的说明 ➢ 一个类说明的常用格式为: class { private: ; public: ; }; ➢ 类成员分为:数据成员和成员函数。 ➢ 注:类的成员函数定义,既可以放在类定义体内,也可以放在类 定义体外。如果放在外面,要用“::”来限定。(放在类 体外定义时,类体内必须有其函数原型。) ➢ 类对象的声明方式:(类对象也称:类变量或类的实例) , …

第七章类与对象 对象成员(数据成员和成员函数)的访问方式: 说明:若在该类的说明中含有带参数的构造函数,则在说明对象 的同时,要给出具体的实参初始化对象。 (实参表1)(实参表n) 注:可以说明类对象的数组以及指向对象的指针;同类型的对象 之间可以相互赋值;对象可作为函数的参数;函数的返回值可以 是类对象;类的成员可以是对象成员 示例程序: //program 7-2. cpp include iostream .h> class pointt private: float xcoordycoordi public
第七章 类与对象 ➢ 对象成员(数据成员和成员函数)的访问方式: . ➢ 说明:若在该类的说明中含有带参数的构造函数,则在说明对象 的同时,要给出具体的实参初始化对象。 (实参表1), …,(实参表n) ➢ 注:可以说明类对象的数组以及指向对象的指针;同类型的对象 之间可以相互赋值;对象可作为函数的参数;函数的返回值可以 是类对象;类的成员可以是对象成员。 ➢ 示例程序: //program 7-2.cpp #include class point{ private: float xcoord,ycoord; public:

第七章类与对象 public: float getxotreturn xcoord;iy //注意:函数体中的retu语句也可以改写为 //“ return(*this) xcoord”或“ return this> xcoord” float gety o; void setx float xxcoord=x;] void sety float y; ovid display oicout < xcoord="<<xcoord<<endiy void display oicout<<ycoord=?<<ycoord<<endiy Si float point: gety return ycoord;y void point: sety float ytycoord=yil void minot point obj1 *p,objarr[6] obj setx (123.5)
第七章 类与对象 public: float getx(){return xcoord;} //注意:函数体中的return语句也可以改写为 //“return (*this).xcoord;”或“return this->xcoord;” float gety(); void setx(float x){xcoord=x;} void sety(float y); ovid display(){cout<<“xcoord=”<<xcoord<<endl;} void display(){cout<<“ycoord=”<<ycoord<<endl;} }; float point::gety(){return ycoord;} void point::sety(float y){ycoord=y;} void main(){ point obj1,*p,objArr[6]; obj.setx(123.5);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第一章 绪论(主编:刘景、周玉龙).ppt
- 《高级语言C++程序设计》教材教学实验讲义(第二版)实验1 熟悉和使用vc集成开发环境(IDE).doc
- 恒润科技:《MATLAB 基础与编程入门》第五章 GUIDE 图形用户界面入门.ppt
- 恒润科技:《MATLAB 基础与编程入门》第四章 文件输入与输出.ppt
- 恒润科技:《MATLAB 基础与编程入门》第三章 MATLAB 编程入门.ppt
- 恒润科技:《MATLAB 基础与编程入门》第二章 MATLAB 图形基础.ppt
- 恒润科技:《MATLAB 基础与编程入门》第一章 MATLAB 基础.ppt
- 《计算机软件技术基础》第9九章 函数.ppt
- 《计算机软件技术基础》第8章 流程控制语句.ppt
- 《计算机软件技术基础》第7章 运算符和表达式.ppt
- 《计算机软件技术基础》第6章 基本数据类型.ppt
- 《计算机软件技术基础》第5章 C语言基础.ppt
- 《计算机软件技术基础》第4章 计算机实用技术基础.ppt
- 《计算机软件技术基础》第3章 数据库技术基础.ppt
- 《计算机软件技术基础》第2章 软件工程基础.ppt
- 《计算机软件技术基础》第1章 软件技术基础.ppt
- 《计算机软件技术基础》第14章 文件.ppt
- 《计算机软件技术基础》第13章 结构体与共用体.ppt
- 《计算机软件技术基础》第12章 指针.ppt
- 《计算机软件技术基础》第11章 预处理.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第三章 基本数据类型与基本运算.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第二章 C++语言初步.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第五章 函数、函数与运算符的重载.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第八章 继承与派生.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第六章 指针、引用与动态内存分配.ppt
- 《高级语言C++程序设计》教材PPT教学课件(第二版)第四章 基本控制结构与导出数据类型.ppt
- 湖南软件职业技术学院:《C语言程序设计》第十章 带参数的函数(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第五章 循环结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第六章 数组(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第七章 函数应用程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》编译预处理命令(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第八章 指针(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第一章 C语言概述(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二讲 算法(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第六章 数组应用程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第六章 数组应用程序设计(6-1)一维数组(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第十三章 文件(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第十一章 结构体与共用休(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第十章 指针(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第五章 选择结构程序设计(危孟君).ppt