《c++语言编程》课程教学资源(PPT课件)第四章复习

用new建立动态对象 A * p=new A(l,1) 用new建立对象就象是用new建立一个变量一样,分配一段相应大 小的内存(刚好能放下一个类的对象的空间),然后返回这段空间的 首地址(指针)但是为什么要和构造函数一同起作用呢? 因为光有new分配内存的话,就好象是临时划给了一块地基,我 们看不到建成的房子的结构是怎么样的,每个房间有多大,而构 造函数就是在它得到这块地基后,马上就把这块地按图样(构造函 数的实现)建成了一套新房(初始化)。这时才能返回指针值(门牌地 址) 因为用new建立的对象是动态对象,当不需要这个对象时,指 针所指的空间将被浪费,所以要用 delete把指针删除,好比把这 所房子的看门人全赶走了,那这块地又可以为大家所使用了
用new 建立动态对象: A *p=new A(1,1) 用new建立对象就象是用new建立一个变量一样,分配一段相应大 小的内存(刚好能放下一个类的对象的空间),然后返回这段空间的 首地址(指针).但是为什么要和构造函数一同起作用呢? 因为光有new分配内存的话,就好象是临时划给了一块地基,我 们看不到建成的房子的结构是怎么样的,每个房间有多大,而构 造函数就是在它得到这块地基后,马上就把这块地按图样(构造函 数的实现)建成了一套新房(初始化)。这时才能返回指针值(门牌地 址)。 因为用new建立的对象是动态对象,当不需要这个对象时,指 针所指的空间将被浪费,所以要用delete把指针删除,好比把这 所房子的看门人全赶走了,那这块地又可以为大家所使用了

缺省构造函数和对象数组: 不带参数的构造函数就是缺省构造函数。如果没有定义任何构 造函数时,系统会自动建立一个空的缺省构造函数,它是空的, 徒有其表,所以建了也等于白建。 当定义一个对象数组(成组的对象)时,一定要建立一个缺省构造函 数(系统建立的那个可没用)为它们进行初始化。为什么呢,因为每 个元素对象均需要调用一次缺省构造函数来为自己初始化。如同上 面的比方,分地基是一个元素一个元素分的,前一块地没有确定下 来,就不能返回相应指针,后面的分配就无法继续 总之,定义对象(局部对象)或引用对象(全局或静态对象)时, 总要为对象初始化或者提供初始值才行
缺省构造函数和对象数组: 不带参数的构造函数就是缺省构造函数。如果没有定义任何构 造函数时,系统会自动建立一个空的缺省构造函数,它是空的, 徒有其表,所以建了也等于白建。 当定义一个对象数组(成组的对象)时,一定要建立一个缺省构造函 数(系统建立的那个可没用)为它们进行初始化。为什么呢,因为每 个元素对象均需要调用一次缺省构造函数来为自己初始化。如同上 面的比方,分地基是一个元素一个元素分的,前一块地没有确定下 来,就不能返回相应指针,后面的分配就无法继续 总之,定义对象(局部对象)或引用对象(全局或静态对象)时, 总要为对象初始化或者提供初始值才行

析构函数 析就是解除的意思,当对象消失时,它就跳出来执行(实际上是被 调用)。这样就可以利用它来做一些清理工作。 析构函数的定义和构造函数相同,与类同名只是名字前要加 个"~"号,也是类中的成员函数 局部对象(在函数内建立的对象)生存期结束时被调用,也就是说 函数中建立对象之后,它就开始生存,直到函数运行到遇见右 括号},它就结束生存,此时调用析构函数 全局对象和静态对象的析构函数则是在程序(整个程序)运行完毕 (或用exi终止程序时)被调用
析构函数 析就是解除的意思,当对象消失时,它就跳出来执行(实际上是被 调用)。这样就可以利用它来做一些清理工作。 析构函数的定义和构造函数相同,与类同名只是名字前要加一 个"~"号,也是类中的成员函数。 局部对象(在函数内建立的对象)生存期结束时被调用,也就是说 函数中建立对象之后,它就开始生存,直到函数运行到遇见右 括号},它就结束生存,此时调用析构函数。 全局对象和静态对象的析构函数则是在程序(整个程序)运行完毕 (或用exit终止程序时)被调用

用 delete删除动态对象的方法:和前面的new建立动态对象过程相 反,当 delete删除一个动态对象时,先调用它的析构函数(用前面的 例子就是拆房子),然后释放这个动态所占的内存(退地) 缺省析构函数和前面的缺省构造函数一样,如果没有定义, C++编译器自动产生一个,但是和没产生一样,因为它什么 也不做
用delete删除动态对象的方法:和前面的new 建立动态对象过程相 反,当delete删除一个动态对象时,先调用它的析构函数(用前面的 例子就是拆房子),然后释放这个动态所占的内存(退地)。 缺省析构函数和前面的缺省构造函数一样,如果没有定义, C++编译器自动产生一个,但是和没产生一样,因为它什么 也不做

对象初始化和对象赋值 对象的初始化有几种方法: 一是利用构造函数的参数,当建立对象时,在对象名之后的括号 内给出对象的初值。如 Test Try(5) 二是用等号在说明语句中进行初始化:如 Test Try1=5;这时,编译器 仍把它们解释为对象名后带参数的语句; 是用复制初始化构造函数来初始化对象,如 Test Try2(Tryl1).也 就是用一个已经初始化的对象来初始化现在的对象。但是当类中 没有定义复制初始化构造函数时,C++就会自动生成一个(这回不 是空的)缺省复制初始化构造函数达到用作为初始值的对象的成员 初始化新对象的的相应成员的目的。但是这个缺省函数有时会产 生问题。主要是当参数是指针的引用的情况
对象初始化和对象赋值 对象的初始化有几种方法: 一是利用构造函数的参数,当建立对象时,在对象名之后的括号 内给出对象的初值。如Test Try(5); 二是用等号在说明语句中进行初始化:如 Test Try1=5;这时,编译器 仍把它们解释为对象名后带参数的语句; 三是用复制初始化构造函数来初始化对象,如 Test Try2(Try1).也 就是用一个已经初始化的对象来初始化现在的对象。但是当类中 没有定义复制初始化构造函数时,C++就会自动生成一个(这回不 是空的)缺省复制初始化构造函数达到用作为初始值的对象的成员 初始化新对象的的相应成员的目的。但是这个缺省函数有时会产 生问题。主要是当参数是指针的引用的情况

对象成员 在一个类中说明具有类的类型的数据成员,这些成员就称为对象 成员。定义的方法是: class类名{ 类名1成员名1;事实上就是一个对象,这个对象的类型和名字 类名2成员名2;别忘了分号 类名n成员名n 其他成员的类型和成员名
对象成员 在一个类中说明具有类的类型的数据成员,这些成员就称为对象 成员。定义的方法是: class 类名{ 类名1 成员名1 ;//事实上就是一个对象,这个对象的类型和名字 类名2 成员名2 ;//别忘了分号 ... 类名n 成员名n; 其他成员的类型 和 成员名; }

对于有对象成员的类的初始化,也要有构造函数。定义的方法是: X::X(参数表0):成员1(参数表1),成员2(参数表2),成员n(参数 表n) 初始化有对象成员的类的时候,先调用对象成员的构造函数, 对成员进行初始化,再执行类的构造函数,对类中其他成员进 行初始化。析构函数的调用顺序正好相反
对于有对象成员的类的初始化,也要有构造函数。定义的方法是: X ::X(参数表0):成员1(参数表1),成员2(参数表2),成员n(参数 表n) { //... } 初始化有对象成员的类的时候,先调用对象成员的构造函数, 对成员进行初始化,再执行类的构造函数,对类中其他成员进 行初始化。析构函数的调用顺序正好相反
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《c++语言编程》课程教学资源(PPT课件)第四章 指针和引用.ppt
- 《c++语言编程》课程教学资源(PPT课件)第五章 继承和派生类.ppt
- 《c++语言编程》课程教学资源(PPT课件)第二章 函数.ppt
- 《c++语言编程》课程教学资源(PPT课件)第三章 类与对象.ppt
- 《c++语言编程》课程教学资源(PPT课件)第一章 C++语言编程入门.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第9章 局域网技术.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第8章 局域网体系结构.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第7章 应用层协议.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第6章 传输层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第5章 网络层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第4章 数据链路层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第3章 物理层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第2章 数据通信.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第1章 计算机网络基础.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第10章 网络安全.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(4/4).ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(3/4).ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(2/4).ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(1/4).ppt
- 企业网(PPT讲稿)广域网技术3/3.ppt
- 《Java语言》课程教学课件(PPT讲稿)第一章 Java语言概述.ppt
- 《Java语言》课程教学课件(PPT讲稿)第七 常用工具.ppt
- 《Java语言》课程教学课件(PPT讲稿)第三章 数组.ppt
- 《Java语言》课程教学课件(PPT讲稿)第二章 Java语言基础.ppt
- 《Java语言》课程教学课件(PPT讲稿)第五章 接口、包.ppt
- 《Java语言》课程教学课件(PPT讲稿)第六章 深入面向对象的程序设计.ppt
- 《Java语言》课程教学课件(PPT讲稿)第四章 面向对象程序设计基本概念.ppt
- 《UNIX》授课教案(PPT教学课件,讲稿).ppt
- 高等教育出版社:《Visual FoxPro应用基础与面向对象程序设计教程》配套教学课件(PPT讲稿,共十六章).ppt
- 路由协议_Bgp.doc
- 中国电信数据通信局:路由协议_Chinanet路由政策.doc
- 路由协议_Chinatnet路由策略ip solution部分.doc
- 路由协议_Ospf.doc
- 路由协议_Rip-2协议.doc
- 路由协议培训教材:动态路由协议培训.doc
- 路由协议_视聆通路由分析.doc
- 路由协议_路由器与互连网.doc
- 数据库技术与数据库服务器.ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)计算机概述(1/2)第一节 计算机概述.ppt
- 《计算机基础知识》课程教学课件(PPT讲稿)计算机概述(2/2)第二节 计算机中数的表示和编码.ppt