class 数组默认设置 c++

class array default setting c++

我找不到关于是否可以为通过 class 创建的数组设置默认值的任何信息 and/or 通过 classes 创建的数组的任何语法创建。请帮忙


// strings
#include <string> 

//normal setup
#include <iostream> 
#include <string> 
using namespace std; 

// multi array setup
class recordtype { 
public: 
    // array vars
    string namef; 
    string namel;
    char size; 
}; 
// array 
recordtype listof[11]; 

您可以使用此语法 value-initialize 数组的所有元素,例如:

recordtype listof[11]();

在您的示例中,这将 default-construct 所有 string 字段,并将所有 char 字段设置为 0。

不过,在这种情况下,最好给 recordtype 一个默认构造函数以根据需要初始化其成员,然后让 recordtype listof[11]; 语法为您在每个元素上调用该构造函数.

否则,您可以为特定元素指定实际值,例如:

recordtype listof[11]{ // or: = {
    {"name1", "name2", 'A'},
    {"name1", "name2", 'B'},
    // and so on...
};

在这种情况下,任何未显式初始化的数组元素都将是 value-initialized。