《面向对象程序设计》课程教学资源(课件讲稿)第12章 构造函数(PPT)

第12章构造函数
第12章 构造函数

目录12.1类与对象12.2构造函数的需要性12.3构造函数的使用12.4析构函数12.5带参数的构造函数12.6重载构造函数12.7默认构造函数12.8类成员初始化的困惑12.9构造类成员12.10构造对象的顺序
12.1 类与对象 12.2 构造函数的需要性 12.3 构造函数的使用 12.4 析构函数 12.5 带参数的构造函数 12.6 重载构造函数 12.7 默认构造函数 12.8 类成员初始化的困惑 12.9 构造类成员 12.10 构造对象的顺序

第12章构造函数构造函数能够创建类的对象,初始化其成员。析构函数能够撤销类的对象。构造函数和析构函数是类的特殊成员函数构造函数和析构函数的实现使C++的类机制得以充分的展示
• 构造函数能够创建类的对象,初始化其成员。 • 析构函数能够撤销类的对象。 • 构造函数和析构函数是类的特殊成员函数。 • 构造函数和析构函数的实现使C++的类机制得 以充分的展示

12.1类与对象1、类与对象的区别类描述立一类事物所具有的共同属性和特征对象是类的一个实例,具有确定的属性值。类只有一个类的实例可以有无数个对象可以创建和销毁,但类是无所不在的
1、类与对象的区别 • 类描述一类事物所具有的共同属性和特征。 • 对象是类的一个实例,具有确定的属性值。 • 类只有一个。 • 类的实例可以有无数个。 • 对象可以创建和销毁,但类是无所不在的

12.1.2定义对象,属于不同类的对象在不同的时刻、不同的地方分别被建立主函数开始执行前,首先建立全局对象在程序执行过程中,遇到对象定义才创建局部对象。与定义变量类似,定义对象时,C++为其分配空间
• 属于不同类的对象在不同的时刻、不同的地 方分别被建立。 • 主函数开始执行前,首先建立全局对象。 • 在程序执行过程中,遇到对象定义才创建局 部对象。 • 与定义变量类似,定义对象时,C++为其分配 空间

12.1.2定义对象例12-1:全局对象、局部对象、静态对象、堆对象class DeskDesk类{public :intweight ;inthigh ;intwidth ;intlength ;1;全局对象Desk da ;
例12-1:全局对象、局部对象、静态对象、堆对象 class Desk { public: int weight ; int high ; int width ; int length ; } ; Desk da ; Desk类 全局对象

12.1.2定义对象classStool另一个类:Stoolpublic :intweight ;inthigh ;intwidth ;intlength ;1;全局对象Stool sa ;
class Stool { public: int weight ; int high ; int width ; int length ; } ; Stool sa ; 另一个类:Stool 全局对象

12.1.2定义对象静态局部对象void fn()局部对象Stoolstaticss ;Deskda;1/.1voidd main()堆对象/局部对象Stoolbs;Desk*pd = new DeskDesknd[50];// 局部对象数组/ /.deletepd;//释放堆对象人
void fn( ) { static Stool ss ; Desk da ; //. } void main( ) { Stool bs ; // 局部对象 Desk *pd = new Desk ; Desk nd[50] ; // 局部对象数组 //. delete pd ; // 释放堆对象 } 静态局部对象 局部对象 堆对象

12.1.3对象的初始化根据变量定义,全局变量和静态变量在定义默认值为0(分配空间)时,遇到局部变量在定义时,给其分配内存空间此时,该内存空间之前存储的值即为此局部变量的默认值。,所以,局部变量的默认值为随机数
• 根据变量定义,全局变量和静态变量在定义 (分配空间)时,默认值为0。 • 遇到局部变量在定义时,给其分配内存空间。 • 此时,该内存空间之前存储的值即为此局部 变量的默认值。 • 所以,局部变量的默认值为随机数

12.1.3对象的初始化,对象定义时,情况不一样。对象的意义表达了现实世界的实体因此,一旦建立对象,须有一个有意义的初始值。C++建立和初始化对象的过程专门由该类的构造函数来完成,这个构造函数很特殊,只要对象建立,它马上被调用,给对象分配空间和初始化
• 对象定义时,情况不一样。 • 对象的意义表达了现实世界的实体。 • 因此,一旦建立对象,须有一个有意义的初 始值。 • C++建立和初始化对象的过程专门由该类的构 造函数来完成。 • 这个构造函数很特殊,只要对象建立,它马 上被调用,给对象分配空间和初始化
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言》课程资源_智慧树使用手册_学生端使用手册.ppt
- 《C语言》课程教学课件(PPT讲稿)第25次课(函数定义、调用、参数传递、返回值).ppt
- 《C语言》课程教学课件(PPT讲稿)第27次课(函数进一步讨论).ppt
- 《C语言》课程教学课件(PPT讲稿)第29次课 结构体.ppt
- 《C语言》课程教学课件(PPT讲稿)第31次课(编译预处理命令 位运算 文件).ppt
- 《C语言》课程教学资源(教程讲义)C语言程序设计新思路(1-3章).pdf
- 《C语言》课程教学课件(PPT讲稿,教程)第1章 引论.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第2章 基本的数据与运算.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第5章 循环结构程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第6章 数组.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第9章 函数.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第10章 函数的进一步讨论.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第11章 编译预处理命令.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第12章 结构体.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第14章 文件.ppt
- 《C语言》课程教学资源(教程讲义)C语言主教材附录.pdf
- 《C语言》课程教学资源(教程讲义)第4章.pdf
- 《C语言》课程教学资源(教程讲义)第5章.pdf
- 《C语言》课程教学资源(教程讲义)C语言第6章.pdf
- 《C语言》课程教学资源(教程讲义)C语言训练教程第1-2章.pdf
- 《面向对象程序设计》课程教学资源(课件讲稿)第13章 面向对象程序设计(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第14章 堆与拷贝构造函数(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第15章 静态成员函数与友元(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第16章 继承(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第17章 多态(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第18章 运算符重载(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第19章 IO流(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第20章 模板(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第21章 异常处理(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第10章 结构(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第11章 类(PPT).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第12章 多态性.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第13章 模板与异常处理.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第14章 标准库和输入输出流.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第15章 链表.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第9章 类和对象(一).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第10章 类和对象(二).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第11章 继承和派生.ppt
- 山东理工大学:《面向对象程序设计》课程实验指导书(C++).pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第4章 AutoCAD尺寸标注.pdf
