TreeMind树图在线AI思维导图
当前位置:树图思维导图模板资格考试计算机全国计算机二级C++考试重点(四)思维导图

全国计算机二级C++考试重点(四)思维导图

  收藏
  分享
会员免费下载30积分
会员免费使用30积分
孤街浪徒 浏览量:02023-04-10 16:29:21
已被使用0次
查看详情全国计算机二级C++考试重点(四)思维导图

还有不到二十天就到了全国计算机等级考试的时间了,此时此刻,摘出考试重点,帮助大家找到备考方向,是目前的重点任务,为此,小编整理了全国计算机二级C++考试重点(四),希望对大家有所帮助,更多计算机二级内容敬请关注树图网计算机频道。

树图思维导图提供 全国计算机二级C++考试重点(四) 在线思维导图免费制作,点击“编辑”按钮,可对 全国计算机二级C++考试重点(四)  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:de00072b6cb5a15c0b081144dc0e4285

思维导图大纲

全国计算机二级C++考试重点(四)思维导图模板大纲

全国计算机二级C++考试重点(四)

构造函数

什么是构造函数?通俗的讲,在类中,函数名和类名相同的函数称为构造函数。上面的Box()函数就是构造函数。C++允许同名函数,也就允许在一个类中有多个构造函数。如果一个都没有,编译器将为该类产生一个默认的构造函数,这个构造函数可能会完成一些工作,也可能什么都不做。

绝对不能指定构造函数的类型,即使是void型都不可以。实际上构造函数默认为void型。

当一个类的对象进入作用域时,系统会为其数据成员分配足够的内存,但是系统不一定将其初始化。和内部数据类型对象一样,外部对象的数据成员总是初始化为0。局部对象不会被初始化。构造函数就是被用来进行初始化工作的。当自动类型的类对象离开其作用域时,所站用的内存将释放回系统。

看上面的例子,构造函数Box()函数接受三个整型擦黑素,并把他们赋值给立方体对象的数据成员。

如果构造函数没有参数,那么声明对象时也不需要括号。

1.使用默认参数的构造函数

当在声明类对象时,如果没有指定参数,则使用默认参数来初始化对象。

#include iostream.h

class Box

private:

int height,width,depth;

public:

Box(int ht=2,int wd=3,int dp=4)

height=ht;

width=wd;

depth=dp;

~Box();

int volume()

return height*width*depth;

int main()

Box thisbox(3,4,5); //初始化

Box defaulbox; //使用默认参数

cout< cout<

return 0;

2.默认构造函数

没有参数或者参数都是默认值的构造函数称为默认构造函数。如果你不提供构造函数,编译器会自动产生一个公共的默认构造函数,这个构造函数什么都不做。如果至少提供一个构造函数,则编译器就不会产生默认构造函数。

3.重载构造函数

一个类中可以有多个构造函数。这些构造函数必须具有不同的参数表。在一个类中需要接受不同初始化值时,就需要编写多个构造函数,但有时候只需要一个不带初始值的空的Box对象。

#include iostream.h

class Box

private:

int height,width,depth;

public:

Box() { //nothing }

Box(int ht=2,int wd=3,int dp=4)

height=ht;

width=wd;

depth=dp;

~Box();

int volume()

return height*width*depth;

int main()

Box thisbox(3,4,5); //初始化

Box otherbox;

otherbox=thisbox;

cout< return 0;

这两个构造函数一个没有初始化值,一个有。当没有初始化值时,程序使用默认值,即2,3,4。

但是这样的程序是不好的。它允许使用初始化过的和没有初始化过的Box对象,但它没有考虑当thisbox给otherbox赋值失败后,volume()该返回什么。较好的方法是,没有参数表的构造函数也把默认值赋值给对象。

class Box

int height,width,depth;

public:

Box()

height=0;width=0;depth=0;

Box(int ht,int wd,int dp)

height=ht;width=wd;depth=dp;

int volume()

return height*width*depth;

这还不是最好的方法,更好的方法是使用默认参数,根本不需要不带参数的构造函数。

class Box

int height,width,depth;

public:

Box(int ht=0,int wd=0,int dp=0)

height=ht;width=wd;depth=dp;

int volume()

return height*width*depth;

二、析构函数

当一个类的对象离开作用域时,析构函数将被调用(系统自动调用)。析构函数的名字和类名一样,不过要在前面加上 ~ 。对一个类来说,只能允许一个析构函数,析构函数不能有参数,并且也没有返回值。析构函数的作用是完成一个清理工作,如释放从堆中分配的内存。

我们也可以只给出析构函数的形式,而不给出起具体函数体,其效果是一样的,如上面的例子。但在有些情况下,析构函数又是必需的。如在类中从堆中分配了内存,则必须在析构函数中释放。

相关思维导图模板

抓住重点思维导图

树图思维导图提供 抓住重点 在线思维导图免费制作,点击“编辑”按钮,可对 抓住重点  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4c49e4799ddf94a339c56e46eb96a826

——重点行业机构业务客户生态图谱(锦州地区)思维导图

树图思维导图提供 ——重点行业机构业务客户生态图谱(锦州地区) 在线思维导图免费制作,点击“编辑”按钮,可对 ——重点行业机构业务客户生态图谱(锦州地区)  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:f930058a554a09639a5c5c0e168c451c