当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

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

资源类别:文库,文档格式:PPT,文档页数:85,文件大小:560KB,团购合买
5.1 类与对象 5.2 从面向过程到面向对象 5.3 引用 5.4 构造函数和析构函数 5.5 运算符的重载 5.6 友元 5.7 静态成员 5.8 结构和联合 5.9面向对象的程序设计和Windows编程 5.10 全局对象及其它
点击下载完整版文档(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

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共85页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有