| 查看: 594 | 回复: 5 | |||
[求助]
阅读C++Primer第四版时遇到两个问题,求读过该书的同学解释一下,拜托了!!! 已有1人参与
|
|
拜托各位了。。。。。。。。。。。。。。。 1、感觉上面两处是否有冲突呢? 2、这里book已经指向了一个空串,再让它指向“0-201-82470-1”是不是有问题呢?不是说应用只能指向最开始的那个对象吗?还是我理解错误呢?(不过实践证明这段代码没错,就是不理解) |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有8人回复
最失望的一年
已经有12人回复
存款400万可以在学校里躺平吗
已经有29人回复
求推荐英文EI期刊
已经有5人回复
请教限项目规定
已经有4人回复
国自然申请面上模板最新2026版出了吗?
已经有20人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
疑惑?
已经有5人回复
sanshuiheyi
铁虫 (小有名气)
- 应助: 6 (幼儿园)
- 金币: 716.2
- 红花: 1
- 帖子: 109
- 在线: 36.9小时
- 虫号: 3140019
- 注册: 2014-04-16
- 专业: 计算机软件
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
942363939: 金币+5, ★★★很有帮助, 解答的很详细 2015-04-13 09:15:27
感谢参与,应助指数 +1
942363939: 金币+5, ★★★很有帮助, 解答的很详细 2015-04-13 09:15:27
|
1、没有冲突啊,类里面的那个是声明,定义在类外面,应该是这样定义, double Account::interestRate = 一个double型数; 2、book只是个有默认参数的参数而已,使用的时候,还是看外面传来什么,构造函数也是一种函数,比如: 一个函数Test(const string& str = "" ;使用的时候,你可以这样使用Test(),相当于 string str = ""; Test(str);,只是这里使用了默认参数,不需要你写了, 你还可以这样使用,string str = "test"; Test(str); 这就不使用默认参数了,这两个过程就相当于你截图的那个例子,明白? |
2楼2014-12-23 09:02:28
3楼2014-12-23 09:45:47
sanshuiheyi
铁虫 (小有名气)
- 应助: 6 (幼儿园)
- 金币: 716.2
- 红花: 1
- 帖子: 109
- 在线: 36.9小时
- 虫号: 3140019
- 注册: 2014-04-16
- 专业: 计算机软件
|
这个和构造函数没关系,任何函数都可以,比如:void Test(const string& str = "" ;可以这样调用,Test();也可以这样调用Test("hello" ;参数有默认值和是不是应用类型没关系,如果你采取第一种调用方式,它实际执行时,是这样执行的 string str = "";Test(str);采用第二种方式,执行时事这样的,string str = "hello"; Test(str);其实执行时,他们的流程是一样的,只是这些步骤是让编译器给解释过来的,所以你感觉到有区别,如果把编译器插入的代码写出来,你会发现是一样的,和是不是引用没关系,两种过程使用的str是不一样的,第一个定义了个str="",你在此调用函数时,又定义了个str="hello",所以他们的结果不会相互影响,Test(const string& str);const string& str只是个形式参数,每次影响的是它之前定义个那个str,不知道这样说,说清楚了没 |
4楼2014-12-24 08:57:02
5楼2014-12-24 09:53:39
sanshuiheyi
铁虫 (小有名气)
- 应助: 6 (幼儿园)
- 金币: 716.2
- 红花: 1
- 帖子: 109
- 在线: 36.9小时
- 虫号: 3140019
- 注册: 2014-04-16
- 专业: 计算机软件
6楼2014-12-25 08:55:47













回复此楼
;