设为首页 加入收藏

TOP

2018年计算机二级C++辅导笔记:转换发生的情形
2018-03-28 09:05:47 】 浏览:136
Tags:2018年 计算机 二级 辅导 笔记 转换 发生 情形

五、转换发生的情形


上面的几个例子都是通过不能类型对象之间的相互赋值来调用转换函数,还有几种调用的可能:


参数传递


初始化


返回值


表达式语句


这些情况下,都有可能调用转换函数。


下面的程序不难理解,就不分析了。


#include iostream.h


class CustomDate


{


public:


int da, yr;


CustomDate() {}


CustomDate(int d,int y) { 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;


}


class Tester


{


CustomDate cd;


public:


explicit Tester(CustomDate c) { cd=c; }


void display() { cd.display(); }


};


void dispdate(CustomDate cd)


{


cd.display();


}


CustomDate rtndate()


{


Date dt(9,11,1);


return dt;


}


int main()


{


Date dt(12,24,3);


CustomDate cd;


cd = dt;


cd.display();


dispdate(dt);


Tester ts(dt);


ts.display();


cd = rtndate();


cd.display();


return 0;


}



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2018年计算机二级C++辅导笔记:表.. 下一篇2018年计算机二级C++辅导笔记:转..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }