《VISUAL C++程序设计基础》(PPT教学课件)第五章 类与对象

第五章类与对象 日口口口日 ■■■ ■■■ 51类与对象 56友元 52从面向过程到面向对象 5.7静态成员 53引用 58结构和联合 54构造函数和析构函数 5.9面向对象的程序设计和 Windows编程 55运算符的重载 510全局对象及其它
第五章 类与对象 5.1 类与对象 5.5 运算符的重载 5.4 构造函数和析构函数 5.3 引用 5.2 从面向过程到面向对象 5.10 全局对象及其它 5.9面向对象的程序设计和Windows编程 5.8 结构和联合 5.7 静态成员 5.6 友元

51类与对象 5.1.1C++类的定义 5.1.2成员函数的定义 5.1.3对象的创建与使用 5.1.4名字空间域和类域
5.1 类与对象 5.1.3对象的创建与使用 5.1.4名字空间域和类域 5.1.1 C++类的定义 5.1.2成员函数的定义

5.1.1C++类的定义 在C++中,类是一种数据类型。 定义一个类的一般格式为 class类名{ 《《 private:》 成员表1》 《 public: 成员表2》 protected 成员表3》 Fi
5.1.1 C++类的定义 在C++中,类是一种数据类型。 定义一个类的一般格式为: class 类名{ 《《private:》 成员表1;》 《public: 成员表2;》 《protected: 成员表3;》 };

5.1.1C++类的定义 例如描述一种商品,在C++中可以这样表述 class GOods private char Name[21] i int Amount i float Price i float Total value i public void RegisterGoods(chark, int, float)i oid CountTotal(void)i void GetName(chark)i int GetAmount(void )i float GetPrice(void) float GetTotal value( void)isi
5.1.1 C++类的定义 例如描述一种商品,在C++中可以这样表述: class CGoods{ private : char Name[21] ; int Amount ; float Price ; float Total_value ; public : void RegisterGoods(char*,int,float) ; void CountTotal(void) ; void GetName(char*) ; int GetAmount(void) ; float GetPrice(void) ; float GetTotal_value(void) ;};

5.1.1C++类的定义 类把数据(事物的属性)和函数(事物的 行为——操作)封装为一个蓬体。还应注意到: 四个数据成员被说明成私有的,而六个函数成 员被说明成公有的这就是说如果从外部对四 个数据成员进行操作的话,只能通过六个公有函 数来完成,数据爱到了良好的保护,不易爱副作 用的影响。公有函数定义了类的接口 interface)
5.1.1 C++类的定义 类把数据(事物的属性)和函数(事物的 行为——操作)封装为一个整体。还应注意到: 四个数据成员被说明成私有的,而六个函数成 员被说明成公有的;这就是说如果从外部对四 个数据成员进行操作的话,只能通过六个公有函 数来完成,数据受到了良好的保护,不易受副作 用的影响 。 公有函数集定义了类的接口 (interface)

51.2成员函数的定义 在前面的小结中,只对成员函数作了一个声明,或 者讲只给出了函数的原型,并没有对函数进行定义。函 数通常在类的说明之后进行,其格式如下 返回值类型类名:函数名(参数表) 函数体 其中运算符“::”称为作用域解析运算符( Scope esolution operator),它指出该函数是属于哪一个类 的成员函数。当然也可以在类的定义中直接定义函数
5.1.2 成员函数的定义 在前面的小结中,只对成员函数作了一个声明,或 者讲只给出了函数的原型,并没有对函数进行定义。函 数通常在类的说明之后进行,其格式如下: 返回值类型 类名::函数名(参数表) {……} //函数体 其中运算符“ :: ”称为作用域解析运算符(scope resolution operator),它指出该函数是属于哪一个类 的成员函数。当然也可以在类的定义中直接定义函数

51.3对象的创建与使用 对象是类的实例( instance),正如在前几章称变量是数据类型的实 例一样。声明一种数据类型只是告诉编译系统该数据类型的结构形式,并 没有预定内存,或者讲并没有创建了可用来存放数据的变量。类只是一个 样板,以此样板可以在内存中开辟出一个个同样结构的实例对象 创建类的对象可以有两种常用方法。第一种是直接定义类的实例 对象 GOods car 这个定义创建了 GOods类的一个对象Car,同时为它分配了属于它自己 的存储块,用来存放数据和对这些数据实施操作的成员函数(代码)。与 变量定义一样,一个对象只在定义它的域中有效。 第二种是采用动态创建类的对象的方法,将在第七章中学习,当然变 量也同样可动态创建。所谓动态指在程序运行时建立对象。而前一种是在 编译时(程序运行前)建立 个样板可以创造出无数相同的物品来,同样,一个类可以创建 出无数同样组成的对象来
5.1.3 对象的创建与使用 对象是类的实例(instance),正如在前几章称变量是数据类型的实 例一样。声明一种数据类型只是告诉编译系统该数据类型的结构形式,并 没有预定内存,或者讲并没有创建了可用来存放数据的变量。类只是一个 样板,以此样板可以在内存中开辟出一个个同样结构的实例——对象。 创建类的对象可以有两种常用方法。第一种是直接定义类的实例—— 对象: CGoods Car; 这个定义创建了CGoods类的一个对象Car,同时为它分配了属于它自己 的存储块,用来存放数据和对这些数据实施操作的成员函数(代码)。与 变量定义一样,一个对象只在定义它的域中有效。 第二种是采用动态创建类的对象的方法,将在第七章中学习,当然变 量也同样可动态创建。所谓动态指在程序运行时建立对象。而前一种是在 编译时(程序运行前)建立。 一个样板可以创造出无数相同的物品来,同样,一个类可以创建 出无数同样组成的对象来

51.3对象的创建与使用 有两种方法可存储对象。 对象1 对象2 对象n对象1对象2 对象n 数据区数据区 数据区 数据区傲据区 数据区 代码区代码区 代码区 公共代码区 图5各对象完全独立地安排内存 图52各对象的代码区共用的方案 的方案
5.1.3 对象的创建与使用 有两种方法可存储对象。 数据区 代码区 对象1 数据区 代码区 对象2 数据区 代码区 对象n ..... . 图5.1各对象完全独立地安排内存 的方案 数据区 对象1 数据区 对象2 数据区 对象n . . . . . . 图5.2各对象的代码区共用的方案 公共代码区

51.3对象的创建与使用 【例51】商品类对象应用实例 include #include #include /省略了类定义 void main o GOods char string[21]i int number i float pr i
5.1.3 对象的创建与使用 【例5.1】商品类对象应用实例: #include #include #include //省略了类定义 void main( ){ CGoods car ; char string[21] ; int number ; float pr ;

513对象的创建与使用xn,m r Amount Price i cout≤>number>>pr i GetName(char*)i car. RegisterGoods(string, number, pr);GetAmount(void) car. CountTotalo GetPrice(void) string[o]=\o冫//字符串 string清零 GetTotal_ value(void) ifi car. GetName( string)// string赋值 car Name cout<<setw(20)<<string<<setw(5)<<car. GetAmount(://A cout<<setw(10)<<car. GetPriceOk<setw(20)<<car. GetTotal valueOk <endl i//B minicar 5 10
5.1.3对象的创建与使用 cout>number>>pr ; car.RegisterGoods(string , number , pr) ; car.CountTotal() ; string[0]=’\0’ ; //字符串string清零 car.GetName(string) ; //string赋值car.Name cout<<setw(20)<<string<<setw(5)<<car.GetAmount() ; //A cout<<setw(10)<<car.GetPrice()<<setw(20)<<car.GetTotal_value()< <endl ; //B } 成员名 Name[21] ; Amount ; Price ; Total_value ; RegisterGoods(char*,int,float) ; CountTotal(void) ; GetName(char*) ; GetAmount(void) ; GetPrice(void) ; GetTotal_value(void) ;}; minicar 5 2 10 minicar 5 2 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《VISUAL C++程序设计基础》(PPT教学课件)第二章 C++基础知识(课件).ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第九章 流类库和输入.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第三章 结构化程序设计.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第七章 动态内存分配.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第一章 软件设计概述.ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》VHDL语言详解(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第3章 VHDL 入门(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》PDF电子书(共四章)(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第七章 VHDL中的重载(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第六章 VHDL中属性的描述及定义语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第五章 VHDL的库、程序包和配置(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第三章 VHDL的基本元素(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第二章 VHDL的基本模型结构(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第十章 数字系统设计范例(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第八章 综合(Synthesis)(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第一章 绪论(蔡喜平).ppt
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第9章 多态性.ppsx
- 《VISUAL C++程序设计基础》(PPT教学课件)第八章 继承与多态.ppt
- 《VISUAL?C++程序设计基础》(PPT教学课件)第六章 指针与数组.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第十一章 标准模板库(STL).ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第十章 异常处理.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第四章 函数.ppt
- 《实用网络配置指南》参考书籍PDF电子书(初级篇).doc
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十章 指针.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十一章 结构体与共用体.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十二章 位运算.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十三章 文件.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十四章 常见错误和程序调试.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第一章 C语言概述.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第二章 程序的灵魂一算法.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第三章 数据类型、运算符与表达式.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第四章 最简单的C程序设计.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第五章 选择结构程序设计.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第六章 循环控制.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第七章 数组.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第八章 函数.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第九章 预处理命令.ppt