【问题标题】:class array default setting c++类数组默认设置 C++
【发布时间】:2021-02-19 13:31:17
【问题描述】:

我找不到任何信息,说明您是否可以为通过类创建的数组设置默认值和/或通过类创建的数组的任何语法,而不仅仅是创建。请帮忙。


// 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]; 

【问题讨论】:

    标签: c++ arrays class default-value


    【解决方案1】:

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

    recordtype listof[11]();
    

    在您的示例中,它将默认构造所有 string 字段,并将所有 char 字段设置为 0。

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

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

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

    在这种情况下,任何未显式初始化的数组元素都将进行值初始化。

    【讨论】:

    猜你喜欢
    • 2021-12-24
    • 2016-04-25
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 2017-02-21
    相关资源
    最近更新 更多