计算机等级考试题库大作战,二级C++语言刷不停!

发布于 2018-08-24 11:07  编辑:simi
0
计算机等级考试题库 扫码微信刷题


20189月全国计算机等级考试开考还有一段时间,如何利用好这一阶段强化学习成为关键。你是不是对自己在基础阶段的复习效果不是特别满意,因此在这一阶段感到进退两难?

是不是急于做大量的计算机等级考试题库,却因测试结果不尽人意而心慌不安?

不要急!考无忧小编为大家准备了一些二级C++语言考点,希望能帮助大家高效复习,轻松通关!



类的转换之成员转换函数

二、成员转换函数

成员转换函数把该类的对象转换为其他数据类型的对象。在成员转换函数的声明中要用到关键字operator。这样声明一个成员转换函数:

operator aaa();

在这个例子中,aaa就是要转换成的数据类型的说明符。这里的类型说明符可以是任何合法的C++类型,包括其他的类。如下来定义成员转换函数;

Classname::operator aaa()

类名标识符是声明了该函数的类的类型说明符。上面定义的Date类并不能把该类的对象转换回time_t型变量,但可以把它转换成一个长整型值,计算从200011日到现在的天数。

#include iostream.h

class Date

{

int mo,da,yr;

public:

Date(int m,int d,int y) {mo=m; da=d; yr=y;}

operator int(); //声明

};

Date::operator int() //定义

{

static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

int days=yr-2000;

days*=365;

days+=(yr-2000)/4;

for(int i=0;i days+=dys[i];

days+=da;

return days;

}

int main()

{

Date now(12,24,2003);

int since=now;

cout< return 0;

}

三、类的转换

上面两个例子都是C++类对象和内部数据对象之间的相互转换。也可以定义转换函数来实现两个类对象之间的相互转换。

#include iostream.h

class CustomDate

{

public:

int da, yr;

CustomDate(int d=0,int y=0) {da=d; yr=y;}

void display()

{

cout< }

};

class Date

{

int mo, da, yr;

public:

Date(int m=0,int d=0,int y=0) {mo=m; da=d; yr=y;}

Date(const CustomDate&); //转换构造函数

operator CustomDate(); //成员转换函数

void display()

{

cout< }

};

static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};

Date::Date(const CustomDate& jd)

{

yr=jd.yr;

da=jd.da;

for(mo=0;mo<11;mo++)

if(da>dys[mo]) da-=dys[mo];

else break;

mo++;

}

Date::operator CustomDate()

{

CustomDate cd(0,yr);

for(int i=0;i cd.da+=da;

return cd;

}

int main()

{

Date dt(12,24,3);

CustomDate cd;

cd = dt; //调用成员转换函数

cd.display();

dt = cd; //调用转换构造函数

dt.display();

return 0;

}

这个例子中有两个类CustomDateDateCustomDate型日期包含年份和天数。

这个例子没有考虑闰年情况。但是在实际构造一个类时,应该考虑到所有问题的可能性。

Date里中具有两种转换函数,这样,当需要从Date型变为CustomDate型十,可以调用成员转换函数;反之可以调用转换构造函数。

不能既在Date类中定义成员转换函数,又在CustomDate类里定义转换构造函数。那样编译器在进行转换时就不知道该调用哪一个函数,从而出错。



复习以上的二级C++语言考点了吗?

最后,考无忧小编祝大家:

刷的计算机等级考试题库都考,考的都会,蒙的全对,考神附体,全部都过!预祝大家都能够顺利考取计算机等级证书。考无忧小编等大家的好消息!







文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2018年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)



温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯





本文网址:http://www.k51.com.cn/info/jsjdjks/1808/2445473.html
选择分享到: