- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.C与面向对C初步
面向对象程序结构(过程式方法: 适用于小型程序) 类是面向对象程序设计最基本单元,在设计面向对象程序时,先以类的方式描述实际待解决问题. 类是数据和对数据操作的封装体,类成员的访问属性决定了对其使用的方式.本书使用的类都是以模板类的形式给出. 程序基本组织结构:类的声明、实现、应用(对类的使用是通过类的实例—对象来进行的). 可以通过组合、继承、多态机制解决更复杂的实际问题. 函数—功能模块 函数定义:函数形参可以是变量、引用、指针,函数形参可以设置默认值. 调用:函数调用表达式有三个可出现的位置. 函数的重载:所谓重载是对一个标识赋以不同的内涵.被重载的标识有函数名、运算符.其原型分别是: 类型 函数标识 (带类型说明的形参表); 类型 operator运算符(带类型说明的形参表); 要注意的是,算符重载的形参至少有一个是类类型数据(因为只有定义新类型时,才会需要对系统预定义的运算符重载,也正因为如此,重载才有成员方式、友元方式和普通函数方式之差别). 动态存储分配: new和delete命令. 对象和类 多数的类都可以称之为容器,它表示了某种数据结构,每个类的实例都放在这样的容器里(容器本身给出了类对象要占用的数据存储空间,当对象被创建时). 类的构造函数、拷贝构造函数、析构函数 1. 其功能是用来创建或释放类对象的; 2. 一个类只有一个析构和拷贝构造函数; 3. 构造函数是可以重载的;它的功能是为对象开辟内存空间,将对象中的数据成员初始化; 类的其他成员函数,可直接操作封装在类内部的数据,不需要重新说明. 实例—有理数类 要创建的有理数类的主要特征: 能够方便地建立类的实例; 能够进行各种有理数的算术运算,包括加减乘除,赋值和算术赋值; 能够进行有理数的比较; 能够方便地输入输出有理数. 有理数类2.2的界面说明(p23放在rat.h中). 有理数类2.2的实现(放在rat.cpp中). 有理数类2.2的应用(放在rat_test.cpp中). 类的合成、继承和多态性 类的合成:用已有类的对象作为新类的数据成员,产生新的类,成为类的合成,新类称为组合类(p36). 组合类的构造函数在初始化列表处对对象成员初始化, (通过对象名调用对象所在类的构造函数). 类的继承:在已有的类的基础上,定义造新的类,新的类保留已有类的属性和特征,这种构造新类的方法称为类的继承(p39). 派生类的构造函数在初始化列表处调用基类构造函数初始化属于基类的数据成员. 多态性(动态联编) 上机实验: p43复数类 * * §2 C++与面向对象初步 本章复习和补充重要的C++知识点,在复习中逐步完成有理数类的设计 获得分子分母函数 算术赋值算符重载函数 赋值算符重载函数的类型为void,其缺陷是不能执行连续赋值操作,需要把函数类型设置为rational . 在normalize中使用了函数assert,assert和exit的作用类似,都是用来终止程序运行的,所不同的是assert的参数是一个逻辑条件,当条件为false时,终止程序运行,而exit是无条件终止程序运行.使用assert要加头文件assert.h或cassert 3. 构造函数: 构造函数兼有将其它类型数据转换为本类型数据的功能,当其它类型向本类型转换时,程序要自动调用构造函数创建一个隐含的对象.即不管是隐含地转换还是显式地强制转换,构造函数具有通过创建临时对象 实现其它类向本类类型转换的作用.至于这种转换是否合理,取决于构造函数的定义. 例. #inlcudeiostream.h //constructor.cpp class complex{ float re, im; public: complex(float r=0,float i=0){ re=r; im=i; cout“constructor!”endl; } void operator=(const complex c) { re=c.re; im=c.im; cout“setvalue!”endl;} void print(){ cout‘(‘re‘,’im‘)’endl;} }; void main(){ complex c=.55; c.print(
您可能关注的文档
最近下载
- 日立牌SET-FREE AⅢ系列产品提案书20240628.docx VIP
- AquaECO特灵产品技术手册20231212.pdf VIP
- 中考语文成语易错48道选择题(有详细解析).pdf VIP
- 天津钢管集团股份有限公司.pdf VIP
- 海尔物联多联MAX样册2025-4-10.pdf VIP
- 2023年小升初语文专项练习《地名人名拼写规则》(含答案).docx VIP
- 辅警结构化面试题及答案(2025年.docx VIP
- SET-FREE AⅢ产品样册-日立.pdf VIP
- 105656-海尔智慧楼宇检测中心概况(实验室布局,测试能力范围,实验室介绍,数字化测试,实验室认证).docx VIP
- 井控考试试题库(DOC) .pdf VIP
文档评论(0)