第一范文网 - 专业文章范例文档资料分享平台

全国计算机二级C++考试复习知识点汇总

来源:用户分享 时间:2025/8/6 19:10:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

金 融 学 院 School of Finance

表达式语句

这些情况下,都有可能调用转换函数。 下面的程序不难理解,就不分析了。 #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};

金 融 学 院 School of Finance

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;

金 融 学 院 School of Finance

cd = dt; cd.display(); dispdate(dt); Tester ts(dt); ts.display(); cd = rtndate(); cd.display(); return 0; }

六、显式构造函数

注意上面Tester类的构造函数前面有一个explicit修饰符。如果不加上这个关键字,那么在需要把CustomDate对象转换成Tester对象时,编译器会把该函数当作转换构造函数来调用。但是有时候,并不想把这种只有一个参数的构造函数用于转换目的,而仅仅希望用它来显式地初始化对象,此时,就需要在构造函数前加explicit。如果在声明了Tester对象以后使用了下面的语句将导致一个错误:

ts=jd; //error

这个错误说明,虽然Tester类中有一个以Date型变量为参数的构造函数,编译器却不会把它看作是从Date到Tester的转换构造函数,因为它的声明中包含了explicit修饰符。 七、表达式内部的转换

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

#include iostream.h class Date {

int mo, da, yr;

金 融 学 院 School of Finance

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; }

全国计算机二级C++考试复习知识点汇总.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9tyx546s5d02tjb2ixwe3xy6q955p4014us_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top