二级C++表达式内部的转换

发布于 2018-01-30 15:48  编辑:盘子
0
计算机等级考试题库 扫码微信刷题


在表达式内部,如果发现某个类型和需要的不一致,就会发生错误。数字类型的转换是很简单,这里就不举例了。下面的程序是把Date对象转换成长整型值。

#include iostream.h

class Date

{

int mo, da, yr;

public:

Date(int m,int d,int y)

{

mo=m; da=d; yr=y;

}

operator long();

};

Date::operator long()

{

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

long days=yr;

days*=365;

days+=(yr-1900)/4; //从1900年1月1日开始计算

for(int i=0;i days+=da;

return days;

}

int main()

{

Date today(12,24,2003);

const long ott=123;

long sum=ott+today;

cout< return 0;

}

在表达式中,当需要转换的对象可以转换成某个数字类型,或者表达式调用了作用于某个类的重载运算符时,就会发生隐式转换。运算符重载以后再学习。







考无忧小编推荐:

更多计算机等级考试真题及答案>>>点击查看

想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看


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