《C++语言程序设计》教材电子教案(PPT教学课件)第6章 类与对象

第6章类与对象 6.1类与对象 6.2构造函数与析构函数 6.3类的组合 64友元 6.5静态成员 66对象数组与对象指针 6.7this指针
第6章 类与对象 6.1 类与对象 6.2 构造函数与析构函数 6.3 类的组合 6.4 友元 6.5 静态成员 6.6 对象数组与对象指针 6.7 this指针

第6章类与对象 6.1类与对象 6.1.1类与对象的概念 对象( object):是现实世界中的客观事物 类( class):是把具有相同属性的事物划分为一类,从而得出 的抽象概念。 面向对象程序设计中的类,是具有相同属性和服务的一组对 象的集合,它为属于该类的全部对象提供了抽象的描述。 对象是类的实例,类是同种对象的抽象。 如:确定大小和颜色的矩形都是一个个具体的对象,而将所有矩形的共同特 点抽象出来,就是一个矩形 这些共有的属性包括颜色(coor),左上角坐标(left,top),长( length)和 宽(wdth)等; 对这些属性的处理包括改变矩形的颜色( Setcolor)和大小( Setsize),移 动矩形到新的位置(Move),绘出矩形(Draw)等。将矩形的这些属性和方法作
6.1 类与对象 6.1.1 类与对象的概念 对象(object):是现实世界中的客观事物。 类(class):是把具有相同属性的事物划分为一类,从而得出 的抽象概念。 面向对象程序设计中的类,是具有相同属性和服务的一组对 象的集合,它为属于该类的全部对象提供了抽象的描述。 对象是类的实例,类是同种对象的抽象。 第6章 类与对象 如:确定大小和颜色的矩形都是一个个具体的对象,而将所有矩形的共同特 点抽象出来,就是一个矩形类。 这些共有的属性包括颜色( color ),左上角坐标 ( left, top ),长 ( length )和 宽 ( width ) 等; 对这些属性的处理包括改变矩形的颜色( SetColor ) 和大小 ( SetSize ) ,移 动矩形到新的位置 ( Move ),绘出矩形 ( Draw ) 等。将矩形的这些属性和方法作 为一个整体,封装在一起形成一个矩形类

第6章类与对象 6.1类与对象 6.12类的声明 cass类名 private 私有数据成员和成员函数 protected 保护数据成员和成员函数 public 公有数据成员和成员函数;
6.1 类与对象 6.1.2 类的声明 class 类名 { private: 私有数据成员和成员函数; protected: 保护数据成员和成员函数; public: 公有数据成员和成员函数; }; 第6章 类与对象

第6章类与对象 例61定义一个长方形类 CRect,其数据成员包括颜色,左上 角坐标,长和宽,其函数成员包括改变矩形的颜色( Setcolor) 和大小( Setsize),移动矩形到新的位置(Move),绘出矩 形(DraW)。 class Crect private char color[10 int left int top; int length int width public void Setcolor(char *c) void Setsize(int I, int W); void Move(int t, int D) void Draw
例6.1 定义一个长方形类CRect,其数据成员包括颜色,左上 角坐标,长和宽,其函数成员包括改变矩形的颜色(SetColor) 和大小(SetSize),移动矩形到新的位置(Move),绘出矩 形(Draw)。 class CRect { private: char color[10]; int left; int top; int length; int width; public: void SetColor(char *c); void SetSize(int l, int w); void Move(int t,int l); void Draw(); }; 第6章 类与对象

第6章类与对象 例6.1(续一) void crect: Setcolor(char *c) strcpy(color, c) void CRect: Setsize(int I, int w) length=l 域运算符(∷)用于指出该函数是 width w 哪一个类的成员函数,用法 类名:函数名(参数表 void CRect: Move(int t, int D) top=t left = I H yoid CRect. Drawo cut<<"矩形左上角坐标为(<le<"<top<"<end cout<"矩形长和宽分别为"< ength<"<Wdth<endl;‖ cout<<"矩形的颜色是"<< color<<endl;
例6.1 (续一) void CRect::SetColor(char *c) { strcpy(color, c); } void CRect::SetSize(int l, int w) { length=l; width = w; } void CRect::Move(int t,int l) { top = t; left = l; } void CRect::Draw() { cout << "矩形左上角坐标为(" << left << "," << top << ")" << endl; cout << "矩形长和宽分别为" << length << "," << width << endl; cout << "矩形的颜色是" << color << endl; } 第6章 类与对象 域运算符(::)用于指出该函数是 哪一个类的成员函数,用法: 类名::函数名(参数表)

第6章类与对象 例6.1(续二) void maino 定义cRec类的对象,定义对象的 格式 CRect r 类名对象名1,对象名2,… r Set Color("Red") Wove(10,20 r Set Size (100, 200) 访问对象的公有成员,格式为 对象名公有成员函数名(参数表) r Draw 对象名公有数据成员名 r Move(50, 50) r Set Color("Blue) 程序运行结果为 r Draw 矩形左上角坐标为(20,10) 矩形长和宽分别为100,200 矩形的颜色是Red 矩形左上角坐标为(50,50) 矩形长和宽分别为100,200 矩形的颜色是Bue
例6.1 (续二) void main() { CRect r; r.SetColor("Red"); r.Move(10,20); r.SetSize(100,200); r.Draw(); r.Move(50,50); r.SetColor("Blue"); r.Draw(); } 第6章 类与对象 定义CRect类的对象,定义对象的 格式: 类名 对象名1,对象名2,…… 访问对象的公有成员,格式为: 对象名.公有成员函数名(参数表) 对象名.公有数据成员名 程序运行结果为: 矩形左上角坐标为(20,10) 矩形长和宽分别为100,200 矩形的颜色是Red 矩形左上角坐标为(50,50) 矩形长和宽分别为100,200 矩形的颜色是Blue

第6章类与对象 6.1类与对象 6.1.3成员的访问控制 private:私有访问权限,只允许类中的成员函数访问,其他函 数不能访问。 protected:保护访问权限,在第7章中介绍。 public:公有访问权限,在任何函数中都可以访问。 例:若主函数中有以下语句,是否正确? CRect r strcpy(rcolor, "red") r top = 10; 在主函数中不能访问类的私有成员 rleft= 20
6.1 类与对象 6.1.3 成员的访问控制 private: 私有访问权限,只允许类中的成员函数访问,其他函 数不能访问。 protected: 保护访问权限,在第7章中介绍。 public: 公有访问权限,在任何函数中都可以访问。 例:若主函数中有以下语句,是否正确? CRect r; strcpy( r.color , “red”); r.top = 10; r.left = 20; 第6章 类与对象 在主函数中不能访问类的私有成员

第6章类与对象 6.1类与对象 6.1.3成员的访问控制(续) 若不指定类中的成员的访问权限,则默认为私有成员 类也可以由 struct关键字声明, strust与cass的区别是:如果 不指定访问权限,前者缺省的访问权限是公有的,而后者是私有 的。用 struc声明前面的矩形类 struct crect void SetColor(char *c void Setsize( int I, int w) void move(int t, int D); void Draw private char color[10] int left int top int length Int WI };
6.1 类与对象 6.1.3 成员的访问控制(续) 若不指定类中的成员的访问权限,则默认为私有成员。 类也可以由struct关键字声明,strust与class的区别是:如果 不指定访问权限,前者缺省的访问权限是公有的,而后者是私有 的。用struct声明前面的矩形类: struct CRect { void SetColor(char *c); void SetSize(int l, int w); void Move(int t,int l); void Draw(); private: char color[10]; int left; int top; int length; int width; }; 第6章 类与对象

第6章类与对象 6.1类与对象 6.14类的成员函数 1.类成员函数的定义方式 在类外部定义:如前面定义的长方形类的成员函数 般格式为 函数类型类名:成员函数名(参数说明) 函数体 在类中定义:如 class crect public: void setcolor( char*c X strcpy( color, c);)
6.1 类与对象 6.1.4 类的成员函数 1. 类成员函数的定义方式 ➢在类外部定义:如前面定义的长方形类的成员函数 一般格式为: 函数类型 类名::成员函数名(参数说明) { 函数体 } ➢在类中定义:如 class CRect { …… public: void setcolor( char *c ){ strcpy( color , c ); } …… }; 第6章 类与对象

第6章类与对象 6.1类与对象 6.14类的成员函数(续一) 2.内联成员函数 将成员函数的定义直接写在类中即成为内联成员函数 在类外定义时用 inline指出: inline void CRect: Setcolor(char *c) strcpy (color, c)
6.1 类与对象 6.1.4 类的成员函数(续一) 2. 内联成员函数 ➢将成员函数的定义直接写在类中即成为内联成员函数 ➢在类外定义时用inline指出: 如: inline void CRect::SetColor(char *c) { strcpy(color, c); } 第6章 类与对象
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言程序设计》教材电子教案(PPT教学课件)第5章 数组与指针.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第4章 函数.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第3章 C++控制语句.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第2章 数据类型与表达式.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第10章 输入输出流.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 MCS-51单片机扩展技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十一章 从80286到pentium.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 MCS-51的中断系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 MCS-51内部定时器/计数器.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 MCS-51单片机的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 MCS-51单片机的内部结构.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十章 串行通信及串行通信接口8250.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第八章 输入输出接口技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 可编程中断控制器8259A.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 计算机中的中断技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 8086/8088的指令系统.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第7章 继承与派生.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第8章 多态性.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第9章 模板.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第1章 C++概述(主编:杨国兴、张东玲).ppt
- 大庆石化总厂职工大学:《计算机文化基础》PPT教学课件(共六章).ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第二章 计算机网络的协议与体系结构.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第六章 广域网.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第七章 网络互联.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第四章 数据链路层.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第五章 局域网.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第一章 概述(黄彧).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第一章 概述(杨万春).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第二章 IA-32结构微处理器(80x86系列结构微处理器与8086).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第八章 中断.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第九章 计数器与定时电路.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第六章 存储器.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第七章 输入输出.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第三章 8086指令系统.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第十章 并行接口芯片.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第四章 汇编程序设计.ppt