c++ - 在类构造函数中定义结构变量的参数
问题描述
我在类中使用结构变量,我想在类构造函数中分配该变量的参数值。
但是我找不到编译的方法。你能告诉我怎么做吗?这是我的代码示例
struct mystruct
{
int myvar;
}
class myclass
{
mystruct s_;
public:
myclass(int n) : s_.myvar{ n } {}
};
解决方案
为此,您mystruct
将需要一个合适的构造函数,该构造函数将int
ger 作为参数。
struct mystruct
{
int myvar;
mystruct(int val) // provide this constructor and good to go!
: myvar{ val }
{}
};
由于mystruct
是聚合类型,您也可以进行聚合初始化。这将是您的案例所需的最小更改,并且不需要mystruct
.
class myclass
{
mystruct s_;
public:
myclass(int n)
: s_{ n } // aggregate initialization
{}
};
推荐阅读
- mongodb - MongoDB 复合索引 + 多个索引 + 索引交集
- string - 使用 strings.Builder 将字节安全地写入 UTF-8 字符?
- javascript - 表单提交后加载隐藏不起作用
- c++ - C ++类变量未打印分配的正确值
- java - 链表显示某类数据中的数据
- javascript - 使用 javascript (jsonplaceholder) 从 Json 获取数据
- spring-boot - 错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT
- r - 使用相同代码的结果之间的差异
- php - 数据库:最佳实践国家、国家代码、国家电话代码
- google-cloud-platform - 是否可以从 Google Cloud 服务请求跟踪?