备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级JAVA复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。
树图思维导图提供 2020年全国计算机二级C++复习知识点:构造函数 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:构造函数 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:49db26ce5764ce52f69ff8d2093c9761
2020年全国计算机二级C++复习知识点:构造函数思维导图模板大纲
什么是构造函数?通俗的讲,在类中,函数名和类名相同的函数称为构造函数。上面的Box()函数就是构造函数。C++允许同名函数,也就允许在一个类中有多个构造函数。如果一个都没有,编译器将为该类产生一个默认的构造函数,这个构造函数可能会完成一些工作,也可能什么都不做。
不能指定构造函数的类型,即使是void型都不可以。实际上构造函数默认为void型。
当一个类的对象进入作用域时,系统会为其数据成员分配足够的内存,但是系统不一定将其初始化。和内部数据类型对象一样,外部对象的数据成员总是初始化为0。局部对象不会被初始化。构造函数就是被用来进行初始化工作的。当自动类型的类对象离开其作用域时,所站用的内存将释放回系统。
看上面的例子,构造函数Box()函数接受三个整型擦黑素,并把他们赋值给立方体对象的数据成员。
如果构造函数没有参数,那么声明对象时也不需要括号。
当在声明类对象时,如果没有指定参数,则使用默认参数来初始化对象。
#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;
没有参数或者参数都是默认值的构造函数称为默认构造函数。如果你不提供构造函数,编译器会自动产生一个公共的默认构造函数,这个构造函数什么都不做。如果至少提供一个构造函数,则编译器就不会产生默认构造函数。
一个类中可以有多个构造函数。这些构造函数必须具有不同的参数表。在一个类中需要接受不同初始化值时,就需要编写多个构造函数,但有时候只需要一个不带初始值的空的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;
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 销售经理半年规划 在线思维导图免费制作,点击“编辑”按钮,可对 销售经理半年规划 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e614d6bcf03e9318109240a18697c5d1