T*****J 发帖数: 193 | 1 为啥是5呢?谢谢
看不出Word(int, float= 3.14, short); 中的int有default value啊, 不好意
思, 呵呵
为啥只说第三个参数short没有default value呢?
class Word {
public:
Word();
Word(int, float = 3.14159, short);
};
int main()
{
Word* pw = new Word();
return 0;
}
Referring to the sample code above, which one of the following statements is
true?
1. The code compiles with no errors.
2. You are not allowed to provide a constructor with parameters without also
providing a default constructor.
3. You cannot dynamically create a c |
t****t 发帖数: 6806 | 2 靠, 试试不就知道了!
【在 T*****J 的大作中提到】 : 为啥是5呢?谢谢 : 看不出Word(int, float= 3.14, short); 中的int有default value啊, 不好意 : 思, 呵呵 : 为啥只说第三个参数short没有default value呢? : class Word { : public: : Word(); : Word(int, float = 3.14159, short); : }; : int main()
|
t****u 发帖数: 8614 | 3 5
【在 T*****J 的大作中提到】 : 为啥是5呢?谢谢 : 看不出Word(int, float= 3.14, short); 中的int有default value啊, 不好意 : 思, 呵呵 : 为啥只说第三个参数short没有default value呢? : class Word { : public: : Word(); : Word(int, float = 3.14159, short); : }; : int main()
|
k****f 发帖数: 3794 | 4 ...做作业么??
【在 T*****J 的大作中提到】 : 为啥是5呢?谢谢 : 看不出Word(int, float= 3.14, short); 中的int有default value啊, 不好意 : 思, 呵呵 : 为啥只说第三个参数short没有default value呢? : class Word { : public: : Word(); : Word(int, float = 3.14159, short); : }; : int main()
|
T*****J 发帖数: 193 | 5 为啥是5啊? 谢谢
【在 t****u 的大作中提到】 : 5
|
t****u 发帖数: 8614 | 6
因为1-4都是错的。
5,如果专指Word(int, float= 3.14, short); 那也是错的。因为如果parameter有
default value, 最后几个都要有。
但是如果泛指 Word(int, float, short),显然最后一个不用带default value。
【在 T*****J 的大作中提到】 : 为啥是5啊? 谢谢
|
T*****J 发帖数: 193 | 7 多谢指点!
可是我看不出Word(int, float= 3.14, short); 中的int有default value啊, 不好意
思, 呵呵
为啥只说第三个参数short没有default value呢?
【在 t****u 的大作中提到】 : : 因为1-4都是错的。 : 5,如果专指Word(int, float= 3.14, short); 那也是错的。因为如果parameter有 : default value, 最后几个都要有。 : 但是如果泛指 Word(int, float, short),显然最后一个不用带default value。
|
t****u 发帖数: 8614 | 8 1,显然是错的,
第一 ctor Word() 没有body,不可能compile过的,
第二 Word(int, float=3.14, short), short 没有default value.
2, 错的,当然可以那么做。没有default ctor而有带parameter的ctor多了。
3,错的,当然可以用没有dtor()的class。
4,错的,你provide了ctor Word(),不过没有body(implementation)而已。
5,就是我的解释,如果专指这个题的话,那也是错的,因为第二个float有default
value,那么short也要有。如果泛指就是对的。
【在 t****u 的大作中提到】 : : 因为1-4都是错的。 : 5,如果专指Word(int, float= 3.14, short); 那也是错的。因为如果parameter有 : default value, 最后几个都要有。 : 但是如果泛指 Word(int, float, short),显然最后一个不用带default value。
|
t****t 发帖数: 6806 | 9 没有body也可以compile过的...甚至可以link过, as long as you don't call it.
sometimes we delibrately omit the body (implementation) to make sure no one
calls it
【在 t****u 的大作中提到】 : 1,显然是错的, : 第一 ctor Word() 没有body,不可能compile过的, : 第二 Word(int, float=3.14, short), short 没有default value. : 2, 错的,当然可以那么做。没有default ctor而有带parameter的ctor多了。 : 3,错的,当然可以用没有dtor()的class。 : 4,错的,你provide了ctor Word(),不过没有body(implementation)而已。 : 5,就是我的解释,如果专指这个题的话,那也是错的,因为第二个float有default : value,那么short也要有。如果泛指就是对的。
|
t****u 发帖数: 8614 | 10 您老说得对。
我老说得不精确,应该加上,
因为下面有,
Word* pw = new Word();
所以不能compile(严格说来应该是link)过。
one
【在 t****t 的大作中提到】 : 没有body也可以compile过的...甚至可以link过, as long as you don't call it. : sometimes we delibrately omit the body (implementation) to make sure no one : calls it
|
|
|
p***o 发帖数: 1252 | 11 不能compile就是因为5啊。
【在 t****u 的大作中提到】 : 您老说得对。 : 我老说得不精确,应该加上, : 因为下面有, : Word* pw = new Word(); : 所以不能compile(严格说来应该是link)过。 : : one
|
g*******y 发帖数: 1930 | 12 嗯,这个题就是有两个错误。
第一个是编译错误,5,函数parameter list中的有默认值的参数需要是在trail上。
然后如果把5 fix了,接着就会有第二个错误,就是link错误,call了一个没有body的
函数。
【在 p***o 的大作中提到】 : 不能compile就是因为5啊。
|
d****p 发帖数: 685 | 13
one
这个看编译器吧。我上次这么做过,多数平台上(win, linux, aix, hpux)可以,就
solaris编译报错。
【在 t****t 的大作中提到】 : 没有body也可以compile过的...甚至可以link过, as long as you don't call it. : sometimes we delibrately omit the body (implementation) to make sure no one : calls it
|
T*****J 发帖数: 193 | 14 那么 Word(int, float= 3.14, short); 中的int的default value是啥?
为啥只说第三个参数short没有default value呢?
谢谢
【在 g*******y 的大作中提到】 : 嗯,这个题就是有两个错误。 : 第一个是编译错误,5,函数parameter list中的有默认值的参数需要是在trail上。 : 然后如果把5 fix了,接着就会有第二个错误,就是link错误,call了一个没有body的 : 函数。
|
X****r 发帖数: 3557 | 15 因为并不需要每个参数都有缺省值,但如果有某个参数有缺省值的话,
之后的所有参数都必须有缺省值。
【在 T*****J 的大作中提到】 : 那么 Word(int, float= 3.14, short); 中的int的default value是啥? : 为啥只说第三个参数short没有default value呢? : 谢谢
|
T*****J 发帖数: 193 | 16 明白了, 多谢, 多谢!
【在 X****r 的大作中提到】 : 因为并不需要每个参数都有缺省值,但如果有某个参数有缺省值的话, : 之后的所有参数都必须有缺省值。
|