计算机等级考试:转换函数的调用

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

C++里调用转换函数有三种形式:第一种是隐式转换,例如编译器需要一个Date对象,而程序提供的是CustomDate对象,编译器会自动调用合适的转换函数。另外两种都是需要在程序代码中明确给出的显式转换。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,int d,int y)

{

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

}

operator CustomDate();

};

Date::operator CustomDate()

{

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

CustomDate cd(0,yr);

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

return cd;

}

int main()

{

Date dt(11,17,89);

CustomDate cd;

cd = dt;

cd.display();

cd = (CustomDate) dt;

cd.display();

cd = CustomDate(dt);

cd.display();

return 0;

}








考无忧小编推荐:

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

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


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