Peg*_*gah 7 c++ constructor class
class gene{
int ind;
gene() {
ind = 0;
}
}
class network {
gene g[10];
}
main() {
network n;
}
Run Code Online (Sandbox Code Playgroud)
我应该为g数组中的每个对象调用constuctor,还是会自动调用它?
例如,我应该如下更改网络类:
class network {
gene g[10];
network() {
for(int i = 0; i < 10; i++)
g[i] = gene();
}
}
Run Code Online (Sandbox Code Playgroud)
在您的情况下,因为gene有一个非平凡的默认构造函数,数组的每个元素将为您默认构造.即,不,你的改变是不必要的.
如果您的数组的基本类型是POD类型的情况下,您将需要手动初始化的元素.但是,你这样做的方式并不理想; 你会想要使用值初始化:
class network {
somePodType x[10];
public:
network() : x() { }
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |