gpt4 book ai didi

c++ - 我如何动态创建类并使用重载的构造函数?

转载 作者:行者123 更新时间:2023-11-30 04:49:34 24 4
gpt4 key购买 nike

我想创建一个复数矩阵。重点是我想动态创建矩阵。当我想调用重载的构造函数时,我卡住了。

我有 2 个类:- nrComplex 表示复数;- mMatrix 表示复数矩阵;

在代码中,我首先创建行,然后我想为每一行创建列,但我不知道如何使用重载构造函数初始化类

有什么想法吗?谢谢

我做了一些研究,但我找不到任何能满足我需要的东西

class nrComplex
{
private:
float mReala, mImaginara;
public:
nrComplex ();
nrComplex (float, float);

friend class mMatrix;

};

nrComplex::nrComplex()
{
mReala = 0;
mImaginara = 0;
}

nrComplex::nrComplex(float a, float b)
{
mReala = a;
mImaginara = b;
}
class mMatrix
{
private:
int rows, columns;
nrComplex **matrice;

public:
mMatrix ();
mMatrix (float, float);

};

mMatrix::mMatrix()
{
rows = 0;
columns = 0;
matrice = NULL;
}

mMatrix::mMatrix (float n, float m)
{
rows = n;
columns = m;

matrice = new nrComplex*[rows];

for(int i=0;i<rows;i++)
{
matrice[i] = new nrComplex[columns];
}

// here is the part ^^^ where i get stuck
}

最佳答案

方括号将使您创建一个 nrComplex 对象数组。它们将使用默认构造函数进行初始化。如果要重新初始化 nrComplex 对象,可以使用 placement new。我不认为你可以创建一个对象数组并同时调用除默认构造函数之外的任何东西。

既然你不介意交 friend ,你可以只设置内部变量

关于c++ - 我如何动态创建类并使用重载的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55348740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com