Ton*_*ny 1 c++ constructor arguments prototype class
例如,有一个类foo:
class foo {
public:
foo (int = 10);
.....
}
Run Code Online (Sandbox Code Playgroud)
构造函数的原型内部有"int = 10".那么,这意味着什么?Int只是一个整数类型,不是吗?那么,为它赋值是不是非法的呢?我试图在普拉塔的书中和其他地方找到这样一个例子,但我没有找到解释.
您可以省略函数声明中的参数名称(在定义中也是如此),但您仍然可以指定该参数的默认值.
考虑:
void f(int x = 10) {
printf("%d\n", x);
}
void g(int = 10);
void g(int x) {
printf("%d\n", x);
}
int main() {
f();
g();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果:
10
10
Run Code Online (Sandbox Code Playgroud)
构造函数情况也是如此.
| 归档时间: |
|
| 查看次数: |
793 次 |
| 最近记录: |