在我的代码,我试图做一个字符串类(这是一个分配),并具有下列数据的类中的一个对象复制到另一个:C++:</p> <pre><code>private: int strLen; int dataLen; char* data; </code></pre> <p>和构造函数:一个构造函数
myStr();
myStr(const myStr&);
myStr(const char*);
第三构造函数采用一个字符串数组,分配空间数据并把它复制在,设置的strlen到字符的字符串中的量,并且DATALEN到阵列的大小。第二个构造函数是相似的,但它需要一个完整的对象,并且应该将其复制到构造函数创建的新对象中。一个例子可能是这样的:
myStr fred("Fred");
myStr quote(fred);
我的问题是,有没有办法复制的对象弗雷德反对在构造函数中报价不复制数据(即STRLEN,DATALEN和数据)的每个单独的作品呢?对于这个任务,只有3个数据,但是说有50个,或100个,这将是漫长而乏味的。我试图寻找答案,并且遇到了复制构造函数,但是我不知道它们是如何工作的,或者如果他们只是手动复制每一块数据。我对类的语法很陌生,所以我很抱歉如果答案很微不足道,我只是在所有错误的地方寻找答案。谢谢。
没有。你必须按照正确的顺序乖乖地复制需要复制的所有内容。在这里,你不能只复制一切。您还需要将新对象的指针初始化为新的动态分配的“数据”。并且不要忘记赋值运算符。 –
如果您在班级中有50或100名成员,您会遇到严重的设计问题。 –