gpt4 book ai didi

c++ - 制作一个复制构造函数,对输入对象进行深度复制(使用数组)

转载 作者:行者123 更新时间:2023-11-28 07:44:25 26 4
gpt4 key购买 nike

我需要使用复制构造函数对输入对象进行深度复制。我被困住了......

到目前为止我的代码:

class stringCS   
{
public:
stringCS();
stringCS(const stringCS &other);

private:
char *input;
};


stringCS::stringCS(const stringCS &other)
{
}

我该如何制作深拷贝?我知道我需要使用 for 循环遍历数组中的所有字符,将其复制到另一个数组中,末尾为空终止符,但我不了解参数或原始数组的来源。

编辑:

我绝不是在找人给我代码。我正在寻找更多关于伪代码/问题答案的内容。我不知道如何开始复制,因为我不了解参数。

最佳答案

这应该可以完成工作:

class stringCS   
{
private:
string input;
public:
stringCS(const string& other) : input(other)
{
}
};

如果您需要使用 cstrings,这个框架可能会让您走上正轨

class stringCS   
{
public:
stringCS();
stringCS(const stringCS &other);
{
// a) input is a pointer, allocate enough memory
// you will need to know the size of other (strlen() + 1)
...

// b) copy character by character from `other.input` to `input` in a loop
// do not forget the final '\0'
...
}
private:
char *input;
};

关于c++ - 制作一个复制构造函数,对输入对象进行深度复制(使用数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165331/

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