C语言链表用大括号赋值,c++中自定义的类怎么使用大括号进行赋值

本文介绍了C++中自定义类如何使用大括号进行赋值,包括两种方法:一是通过`std::initializer_list`的构造函数和赋值运算符;二是类满足聚合类条件。提供了示例代码展示这两种方法的用法。
摘要由CSDN通过智能技术生成

有两种方法,一是使用参数为std::initializer_list的构造函数和/或赋值运算符,二是这个类满足 aggregate class 的条件。

方法一

使用参数为std::initializer_list的构造函数和/或赋值运算符,任意类都可以使用这个方法。例如:

#include

#include

// 没有考虑各种边界问题,仅为示意

class myMatrix {

public:

myMatrix(int r, int c)

: row(r), col(c) { pData = new double[row * col]; }

myMatrix(int r, int c, std::initializer_list il)

: myMatrix(r, c) { *this = il; }

~myMatrix() { delete[] pData; }

// Other four copy-control members are omitted here.

myMatrix &operator=(std::initializer_list il) {

std::size_t pos = 0;

for (const auto &e : il)

pData[pos++] = e;

return *this;

}

double get(int r, int c) const { return pData[r * col + c]; }

private:

int row;

int col;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值