-*- 写自己的析构函数 在定义类时,可以自己定义析构函数,以完成特定的释放清理工作,通常情况下在构造函数中使用new分配内存空间,析构函数中需要用delete释放 Fraction::~ Fraction() { … //简单的类无处理 } 堆中创建对象 类似在堆中创建1个普通类型数据空间,也可以在堆中创建1个类的对象。 Complex *pComplex = new Complex(3, 4); -*- 创建对象时会调用构造函数,此处调用2个参数构造函数 每当在栈中或堆中创建对象时,都将调用构造函数。 4 3 堆 real image … 栈 pComplex 释放堆中对象 使用完堆中创建的对象后,需要通过delete释放相应的存储空间。 Complex *pComplex = new Complex(3, 4); … //使用对象 delete pComplex; -*- 执行delete操作后,将调用对象的析构函数,然后释放堆 中的内存(对象本身)。 -*- 堆中创建Complex对象 int main() { Complex c1; Complex *pComplex=new Complex(3,4); …. delete pComplex; return 0; } c1通过缺省构造函数创建。 pComplex所指对象由new创建,调用2个参数构造函数。 delete后,会析构pComplex所指对象 main函数结束后,最后才析构c1对象 访问对象方法 访问堆中创建对象的方法,只能通过指针间接访问,有两种访问方式 指针解除引用后,通过.运算符访问 (*pComplex).setReal(3); 通过指向运算符-直接访问,更加方便 pComplex-setReal(3); -*- -*- 隐蔽的缺省构造函数 Complex c[3]; Complex * p1= new Complex[10]; Complex *p2; Complex rc=c[0]; 调用Complex()3次,每个元素都需要构造1次 调用Complex()10次,堆中每个对象都需要构造1次 不调用构造函数,仅仅定义1个指针 不调用构造函数,引用rc只是c[0]的别名 * * * * * * * -*- 本章内容安排 类型 类和对象的定义 构造析构函数 -*- 类型 分类和抽象是人类认知世界的基本方法。 人类将所见到的事物按照特征进行分类,以抽象的概念加以描述,同时建立类别之间的关系。 如北美野人是一种哺乳动物,哺乳动物是动物的一种,而动物是生物的一种。 C++中,可以使用基本类型(内置类型),还可以创建新的自定义类型 类型:对分类的抽象描述; 对象:对现实世界中特定事物的模拟; 面向对象编程:使用程序中的对象模拟现实世界的对象,对象是包含数据和功能的实体。 -*- 类型的要素 声明某种类型的变量时,隐含了三个方面的信息 变量占用的内存大小 可存储的信息 可对变量执行的操作 short height, width; 占用内存大小:2个字节。 可存储的信息:-32768~32767之间的整数。 可执行的操作:可以对height和width执行加、减等运算 -*- 本章内容安排 类型 类和对象的定义 构造与析构函数 类和对象 C++通过定义类来创建新类型。 类是对一类事物的抽象描述(类别)。 通过类可以创建具体的事物(对象),就像定义一个变量;类是创建对象的模板。 类是捆绑在一起的变量和函数的集合。 -*- 类和对象 对象的概念 对象是构成世界的独立单位,如学生、教师等。 复杂的对象可以由简单的对象组成,如大学由教师、学生、课程等对象构成。 描述对象 物理特征:对象的物理特征,如学生的姓名、专业等。 行为特征:对象能做什么,如学生参加考试,教师阅卷、提交成绩等。 -*- 封装 对象是将物理特征和功能组合在一起而形成的封装实体。 通过封装,允许其它程序使用对象,而无需知道对象的内部工作原理,只需要知道它能干什么。 -*- 类的构成 类的2个构成部分 变量:成员变量或数据成员,描述对象的物理特征,如Tricycle类中包含车轮大小、最高速度等成员变量。 函数:成员函数或方法,决定对象能做什么,函数使用或修改成员变量,如Tricycle类中包含pedal()、brake()等。 -*- -*- 设计复数类 面向对象方式描述复数 类设计 数据成员:实部和虚部(double类型) 成员方法:设置实部、设置虚部、读取实部、读取虚部、显示复数、复数运算… -*- 类的定义 class Complex { public: void setReal(double r); void setIma
您可能关注的文档
- 坤龙大酒店下半营销策划技朮方案.pptx
- 昆虫纲总结技朮方案.pptx
- 昆明网普科技有限公司人力资源状况中期调研诊断技朮方案.ppt
- 捆扎机械技朮方案.ppt
- 困难气道的处理技朮方案.ppt
- 扩声系统技朮方案.ppt
- 拉伸模经典技朮方案.ppt
- 拉索设计技朮方案.ppt
- 拉压杆强度计算技朮方案.ppt
- 拉长培训手册一技朮方案.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 部编版六年级语文下册全册一课一练同步练习题配知识点归纳(含答案).pdf VIP
- 预制空心内夯载体桩技术.pdf VIP
- 2025版《全基础题型》高考数学-基础题(721例题型).docx VIP
- (正式版)DB21∕T 4190-2025 《既有住宅适老化改造建筑设计规程》.pdf VIP
- T_NBSC 001-2026(可口革囊星虫养殖技术规范).pdf
- 餐饮业食品安全管理八项制度.pptx VIP
- 法医学中的法医现场勘查学 .pdf VIP
- 中风的中医诊疗方案.pdf VIP
- 2025年自来水供应专属承包合同样本版.docx VIP
- (2025春新教材)人教版PEP版三年级英语下册全册教案件 .pdf
原创力文档

文档评论(0)