一类动态数组 我一直在做C++练习,我没法弄清楚怎么做正确,让我解释一下:

一类动态数组 我一直在做C++练习,我没法弄清楚怎么做正确,让我解释一下:,c++,C++,我是根据练习的第一个问题来上这门课的 class cylinder { private: float height; float radius; char * label; public: cylinder(float, float, char *); cylinder(); cylinder(const cylinder &); ~cylinder(); }; 第二个问题是: 创建一个新类“form3D”包含圆柱体(圆柱体的动态

我是根据练习的第一个问题来上这门课的

class cylinder
{
private:
    float height;
    float radius;
    char * label;
public:
    cylinder(float, float, char *);
    cylinder();
    cylinder(const cylinder &);
    ~cylinder();
};
第二个问题是:

创建一个新类“form3D”包含圆柱体(圆柱体的动态数组)

如何创建默认构造函数&带参数的构造函数

这就是我所做的:

class forme3d
{
    cylinder * tab;
    int tabsize;
public:
    forme3d();
    forme3d(cylinder * , int);
    ~forme3d();
};

forme3d::forme3d(cylindre * c, int t)
{
    cylindre * tab = new cylindre[t];
    for (int i = 0; i < t; ++i)
    {
        tab[i] = c[i];
    }
}
类格式3d
{
气缸*选项卡;
int tabsize;
公众:
forme3d();
表格3d(圆柱*,整数);
~forme3d();
};
forme3d::forme3d(圆柱*c,整数t)
{
cylindre*tab=新的cylindre[t];
对于(int i=0;i

这会导致“operator=”not defined for This line”tab[i]=c[i];“

请注意如何调用此函数以及使用什么参数。尝试了之后仍然不起作用,可能是我做错了。这意味着由于您定义了复制构造函数(和析构函数),因此您将无法获得自动生成的赋值运算符。您需要手动编写一个。请使用
std::string
。相信我,你会学会感激每一个曾经让你远离原始空终止字符数组的人。