如何在 C++ 构造函数初始值设定项列表中初始化非内置类型的数组?

格博尔曼

在 C++ 中,我试图在构造函数初始值设定项列表中初始化非内置类型的数组。从代码开始:

class bar {
  int i1,i2;
public:
  bar(i1,i2);
}
class foo {
  bar bar1,bar2;
public:
  foo(int a, int b, int c, int d) : bar1(a,b),bar2(c,d) {};
}

我想用数组替换 bar1 和 bar2:

bar allbars[2];

如何更改初始化列表以初始化所有条?

拉博内吉格

首先创建一个合适的构造函数bar

class bar {
  int i1,i2;
public:
  bar(int one, int two)
  : i1(one)
  , i2(two)
  {};
};

class foo {
  bar allbars[2];
public:
  foo(int a, int b, int c, int d)
  : allbars{ bar(a,b), bar(c,d) }
  {};
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在varargs构造函数的初始值设定项列表中初始化向量?

如何通过C ++中的函数参数传递固定大小的初始值设定项列表的初始值设定项列表?

如何使用构造函数初始值设定项列表中的n个元素初始化std :: vector <std :: time_t>

如何在 C++ 初始值设定项列表中将常量引用成员初始化为另一个成员(标准向量)

如何在成员初始值设定项列表之外初始化类成员

如何在 C# 中的对象初始值设定项中使用 Console.ReadLine()

如何在不使用匿名对象的情况下初始化列表初始值设定项中的对象?

如何在 C++ 中的构造函数内初始化二维数组?

C# 集合初始值设定项如何工作?

如何在C ++中使用构造函数(只是构造函数)在类中初始化大型私有数组?

C ++:构造函数初始值设定项列表的替代形式,无需分配?

如何在 C++17 中使用带有初始值设定项的“else-if”?

如何在 C++ 中使用带有类初始值设定项参数的 typedef?

如何在 C++ 结构体中初始化内置数组

如果构造函数是初始化的,如何初始化对象的数组?C ++

如何在c ++中使用构造函数初始化结构列表

C++ 错误:“数组必须用花括号括起来的初始值设定项进行初始化”

如何在Objective C的参数化构造函数中初始化NSDate?

数组初始值设定项必须是初始值设定项列表或字符串字面量 c

如何在带有初始值设定项的构造函数中使用 vprintf/cstdarg 功能?

如何解决“数组初始值设定项必须是初始值设定项列表”错误?

如何在类的构造函数中初始化对象的2D向量?(C ++)

如何在构造函数中初始化C ++对象成员变量?

如何在C中初始化未知大小的数组

如何在 C 编程中初始化多维数组

未使用的默认成员初始值设定项如何改变 C++ 中的程序行为?

C ++初始化构造函数初始化器列表中的模板数组

如何在C#中初始化字符串数组列表?

使用对象初始值设定项时如何在列表中添加值?