已有140人关注
重载运算符及转换运算符
发表在C语言答疑区 2017-01-28
是否精华
版块置顶:

#include <iostream>

using namespace std;

class CBook

{

public:

CBook (double iPage=0);

operator double()

{

return m_iPage;

}


protected:

int m_iPage;

};

CBook:: CBook (double iPage)

{

m_iPage=iPage;

}

void main()

{

CBook bk1(10.0);

CBook bk2(20.00);

cout << "bk1+bk2=" << double(bk1)+double(bk2) << endl;

}


粗体代码中 等于0的意义是什么?

将bk1的实参 10.0传给 iPage 后又等于0  m_iPage又等于iPage

那bk1的m_iPage不就等于0了吗?

还是说只是在创建iPage时为此变量初始化一个值


分享到:
精彩评论 1
again
学分:250 LV4
2017-02-03
沙发

在函数声明时,这表示参数的默认值,如:

void foo(int a, int b=100);


void main() {

  foo(200); // 调用时没有传入第二个参数的值,所以b=100

}

void foo(int a, int b){

  cout <<a << endl;

  cout <<b << endl;

}

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照