《C++程序设计》教学资源(PPT课件讲稿)构造函数和析构函数

●●● ●●●●● 第10讲构造函数和析构函数 ●●●● ●●● ● 构造函数 ●析构函数 ●This指针
1 第10讲 构造函数和析构函数 ⚫ 构造函数 ⚫ 析构函数 ⚫ This 指针

●●● ●●●●● 学习目标 ●●●● ●●● ● ●理解构造函数和析构函数的作用; ●熟练掌握构造函数和析构函数的定义和使用; ●掌握构造函数的重载; 理解动态建立对象和对象数组的方法 理解This指针的作用;
学习目标 ⚫ 理解构造函数和析构函数的作用; ⚫ 熟练掌握构造函数和析构函数的定义和使用; ⚫ 掌握构造函数的重载; ⚫ 理解动态建立对象和对象数组的方法 ⚫ 理解This指针的作用; 2

●●● ●●●●● 第9讲构造函数和析构函数 ●●●● ●●● ● ●构造函数 ●析构函数 ●This指针
3 第9讲 构造函数和析构函数 ⚫ 构造函数 ⚫ 析构函数 ⚫ This 指针

●●● ●●●●● 构造函数的引入 ●●●● ●●● ● class a i float x,y, 如何实现对象成员数 public 据的快速初始化? float m n: void setxy( float a, float b xa; y=; j void print(void){cout<x<t≤<y<≤endl;} void main(void 对a1对象的公有 A al 成员数据赋初值 alm=10;al,n=20: al.Setxy(2.0, 5.0) 对a对象的私有 al. Print(; 成员数据赋初值
class A { float x,y; public: float m,n; void Setxy( float a, float b ){ x=a; y=b; } void Print(void) { cout<<x<<‘\t’<<y<<endl; } }; 构造函数的引入 void main(void) { A a1; a1.m=10; a1.n=20; a1.Setxy(2.0 , 5.0); a1.Print(); } 如何实现对象成员数 据的快速初始化? 对a1对象的公有 成员数据赋初值 对a1对象的私有 成员数据赋初值 4

●●● ●●●●● 构造函数与析构函数 ●●●● ●●● ● 构造函数和析构函数是在类体中说明的两种 特殊的成员函数。 构造函数是在创建对象时,使用给定的值来 将对象初始化
5 构造函数与析构函数 • 构造函数和析构函数是在类体中说明的两种 特殊的成员函数。 • 构造函数是在创建对象时,使用给定的值来 将对象初始化

●●● ●●●●● 构造函数 ●●●● ●●● ● 构造函数的函数名必须与类名相同。构造 函数的主要作用是完成初始化对象的数据 成员以及其它的初始化工作。 在定义构造函数时,不能指定函数返回值 的类型,也不能指定为void类型。 个类可以定义若干个构造函数。当定义 多个构造函数时,必须满足函数重载的原 则
构造函数 • 构造函数的函数名必须与类名相同。构造 函数的主要作用是完成初始化对象的数据 成员以及其它的初始化工作。 • 在定义构造函数时,不能指定函数返回值 的类型,也不能指定为void类型。 • 一个类可以定义若干个构造函数。当定义 多个构造函数时,必须满足函数重载的原 则。 6

●●● ●●●●● ●●●● 构造函数的定义 ●●● ● class 构造函数必须 为公有函数 构造函数名与 所属类名相同 public: 构造函数 无返回值 (参数表) {函数体} 构造函数的函 数体
构造函数的定义 class { public: (参数表) {函数体} } 构造函数的函 数体 构造函数名与 所属类名相同 构造函数 无返回值 构造函数必须 为公有函数 7

●●● ●●●●● 构造函数 ●●●● ●●● ● ●构造函数可以指定参数的缺省值。 若定义的类要说明该类的对象时,构造函 数必须是公有的成员函数。如果定义的类 仅用于派生其它类时,则可将构造函数定 义为保护的成员函数。 由于构造函数属于类的成员函数,它对私 有数据成员、保护的数据成员和公有的数 据成员均能进行初始化
构造函数 ⚫ 构造函数可以指定参数的缺省值。 ⚫ 若定义的类要说明该类的对象时,构造函 数必须是公有的成员函数。如果定义的类 仅用于派生其它类时,则可将构造函数定 义为保护的成员函数。 ⚫ 由于构造函数属于类的成员函数,它对私 有数据成员、保护的数据成员和公有的数 据成员均能进行初始化。 8

●●● ●●●●● ●●●● 构造函数 ●●● ● 属性 构造函数 目的 类的公有成员函数 实现成员数据初始化 实现 私有数据成 保护数据成员 公有数据成员
私有数据成员 保护数据成员 构造函数 属性 构造函数 公有数据成员 类的公有成员函数 目的 实现成员数据初始化 实现 9

●●● ●●●●● ●●●● 例1 ●●● ● class a 构造函数 float x, y; 初始化对象 public A(float a, float b( x=a; y=b; / float Sum(void)i return X+y;) Print(void) cout<<x<<x<<It'<y=<<y<<end; void main(void 定义时调用构造 {Aal(2.0,3.0) 函数进行成员数 Aa2(1.0,2,0); 据的初始化 al. Print(; a2. Print(; x-2y=3 X=1y=2
例1: class A { float x,y; public: A(float a,float b){ x=a; y=b;}// float Sum(void) { return x+y;} Print(void) { cout<<"x="<<x<<'\t'<<"y="<<y<<endl;} }; void main(void) { A a1(2.0, 3.0); A a2(1.0,2.0); a1.Print(); a2.Print(); } 构造函数, 初始化对象 定义时调用构造 函数进行成员数 据的初始化 x=2 y=3 x=1 y=2 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《程序设计语言》课程教学资源(PPT课件讲稿)第5章 函数式程序设计语言.ppt
- 南京大学:移动Agent系统支撑(PPT讲稿)Agent Mobility Software Agent.pptx
- 计算机硬件维护(PPT课件讲稿).ppt
- 《MATLAB程序设计》课程教学资源(教学大纲)Matlab programming.doc
- 普林斯顿大学:平衡查找树(PPT讲稿)New Balanced Search Trees.pptx
- 清华大学:Top-k String Similarity Search with Edit-Distance Constraints.pptx
- 上海交通大学:网络安全 Network Security(PPT讲稿,朱浩瑾).pptx
- 《单片机原理及应用》课程教学资源_本科教学大纲汇编(电子信息工程专业).doc
- 广西外国语学院:《计算机网络》课程教学资源(PPT课件讲稿)第10章 应用层协议.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第三章 局域网与校园网设计(网络方案设计).ppt
- 上海交通大学:人工智能的历史和启示——人机对弈作为案例.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 词法分析.pptx
- 自动语音识别(PPT讲稿)Automatic Speaker Recognition.pptx
- 中国铁道出版社:《局域网技术与组网工程》课程教学资源(PPT课件讲稿)第2章 网络工程系统.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第九章 无线网络.ppt
- 香港浸会大学:MPI - Communicators(PPT讲稿).ppt
- 《单片机应用系统设计技术》课程教学资源(PPT课件讲稿)第7章 单片机外部扩展资源及应用.ppt
- 北京航空航天大学:《数据挖掘——概念和技术(Data Mining - Concepts and Techniques)》课程教学资源(PPT课件讲稿)Chapter 01 Introduction.ppt
- 《单片机原理及应用》课程教学资源(PPT课件讲稿)第14章 单片机应用系统抗干扰与可靠性设计.ppt
- 河南中医药大学(河南中医学院):《计算机文化》课程教学资源(PPT课件讲稿)第七章 数据库技术(主讲:王哲).pptx
- 《计算机应用基础》工学结合配套课件(PPT讲稿)模块二系统软件操作技术(Windows XP的实用工具).ppt
- 河南中医药大学:《网络技术实训》课程教学资源(PPT课件讲稿)第7讲 网络安全实训(主讲:许成刚).pptx
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第三章 网络营销.ppt
- 广西医科大学:《计算机网络 Computer Networking》课程教学资源(PPT课件讲稿)Chapter 03 Network Management and Operation(Network Architetures and Standarts).pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)空域滤波 Spatial Filtering.pptx
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第八章 输入输出程序设计.ppt
- 构建互联互通的单位局域网(PPT讲稿).ppt
- 中国科学技术大学:《计算机网络 Computer Networks(计算机通信网)》课程教学资源(PPT课件讲稿)Chapter 06 Internet Protocol.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.1 Principles of Concurrency 5.2 Mutual Exclusion.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第五章 运输层.ppt
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件)第一章 操作系统引论.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 词法分析.ppt
- 同济大学:FWA for Noisy Optimization Problems(张军旗).pptx
- 西安培华学院:《计算机应用基础》课程教学资源(PPT课件讲稿)第1章 信息技术与计算机基础知识.ppt
- 香港科技大学:Recent Development of Heterogeneous Information Networks - From Meta-paths to Meta-graphs.pptx
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第9章 文件操作.ppt
- 理论计算机科学(PPT专题讲稿)Topics in Theoretical Computer Science(Linear Programming).pptx
- 北京建筑大学:《计算机图形学》课程教学资源(PPT课件讲稿)第一章 绪论(吕书强).ppt
- 清华大学:《计算机导论》课程电子教案(PPT教学课件)第5章 程序设计知识.ppt
- 中国科学技术大学:《计算机文化基础》课程教学资源(PPT课件讲稿,共四章,李金龙).ppt