备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级C++复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。
树图思维导图提供 2020年全国计算机二级C++复习知识点:类对象数组 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:类对象数组 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:af9bdbd786f3e7a4c822ec1a4804b72b
2020年全国计算机二级C++复习知识点:类对象数组思维导图模板大纲
类的对象和C++其他数据类型一样,也可以为其建立数组,数组的表示方法和结构一样。
#include iostream.h
class Date
int mo,da,yr;
public:
Date(int m=0,int d=0, int y=0) { mo=m; da=d; yr=y;}
void display() const { cout < };
int main()
Date dates[2];
Date today(12,31,2003);
dates[0]=today;
dates[0].display();
dates[1].display();
return 0;
1.类对象数组和默认构造函数
在前面已经说过,不带参数或者所有参数都有默认值的构造函数叫做默认构造函数。如果类中没有构造函数,编译器会自动提供一个什么都不做的公共默认构造函数 。如果类当中至少有一个构造函数,编译器就不会提供默认构造函数。
如果类当中不含默认构造函数,则无法实例化其对象数组。因为实例花类对象数组的格式不允许用初始化值来匹配某个构造函数的参数表。
上面的程序中,main()函数声明了一个长度为2的Date对象数组,还有一个包含初始化值的单个Date对象。接着把这个初始化的Date对象赋值给数组中个对象,然后显示两个数组元素中包含的日期。从输出中可以看到,个日期是有效日期,而第二个显示的都是0。
当声明了某个类的对象数组时,编译器会为每个元素都调用默认构造函数。
下面的程序去掉了构造函数的默认参数值,并且增加了一个默认构造函数。
#include
class Date
int mo, da, yr;
public:
Date();
Date(int m,int d,int y) { mo=m; da=d; yr=y;}
void display() const { cout < };
Date::Date()
cout < mo=0; da=0; yr=0;
int main()
Date dates[2];
Date today(12,31,2003);
dates[0]=today;
dates[0].display();
dates[1].display();
return 0;
运行程序,输出为:
Date constructor running
Date constructor running
12/31/2003
0/0/0
从输出中可以看出,Date()这个默认构造函数被调用了两次。
2.类对象数组和析构函数
当类对象离开作用域时,编译器会为每个对象数组元素调用析构函数。
#include iostream.h
class Date
int mo,da,yr;
public:
Date(int m=0,int d=0,int y=0) { mo=m; da=d; yr=y;}
~Date() {cout < void display() const {cout< };
int main()
Date dates[2];
Date today(12,31,2003);
dates[0]=today;
dates[0].display();
dates[1].display();
return 0;
运行程序,输出为:
12/31/2003
0/0/0
Date destructor running
Date destructor running
Date destructor running
表明析构函数被调用了三次,也就是dates[0],dates[1],today这三个对象离开作用域时调用的。
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 销售经理半年规划 在线思维导图免费制作,点击“编辑”按钮,可对 销售经理半年规划 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e614d6bcf03e9318109240a18697c5d1