小编Rob*_*Fir的帖子

如何使用二维 initializer_list 进行初始化?

我知道,该向量类以下列方式初始化:

Vector::Vector(initializer_list<double> lst)
    :size{static_cast<int>(lst.size())},elem{new double[static_cast<int>(lst.size())]}
    {
        copy(lst.begin(),lst.end(),elem);
    }
Run Code Online (Sandbox Code Playgroud)

这是我的矩阵类:

class Matrix{
private:
    int row;
    int col;
    double elem**
public:
    //Default Constructor:
    Matrix(int row,int col);
    //Initialized list constructor:
    Matrix(initializer_list<initializer_list<double>> lst);
Run Code Online (Sandbox Code Playgroud)

我想,我应该在初始化列表中使用初始化的 lis 来创建初始化矩阵。从语法的角度我该怎么做?

c++ initialization matrix initializer-list

3
推荐指数
1
解决办法
1793
查看次数

错误:与c +​​+中的ostream定义的'operator <<'不匹配

我想超载<< operator.这是我的代码:

#include <iostream>
#include <vector>
#include <string>
#include <stdexcept>
#include <algorithm>
#include <cmath>
#include <list>
using namespace std;

enum class Zustand{Neuwertig,Gut,Abgegriffen,Unbrauchbar};

class Exemplar{
private:
    int aufl_num;
    Zustand z;
    bool verliehen;

public:
    Exemplar(int aufl_num);
    Exemplar(int aufl_num,Zustand z);
    bool verfuegbar() const;
    bool entleihen();
    void retournieren(Zustand zust);
    friend ostream& operator<<(ostream& os, const Exemplar& Ex);
};

//Constructor 1;
Exemplar::Exemplar(int aufl_num):
    aufl_num{aufl_num},
    z{Zustand::Neuwertig},
    verliehen{false}
    {
        if(aufl_num >1000 || aufl_num <1) throw runtime_error("Enter correct number betwee 1 and 1000");

    }

// Constructor 2; …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
93
查看次数

标签 统计

c++ ×2

initialization ×1

initializer-list ×1

matrix ×1