【发布时间】:2015-07-15 14:13:11
【问题描述】:
我正在创建自己的字符串类(作为练习),我知道我需要一个复制构造函数和一个重载的 = 赋值运算符,但不知道从哪里开始。
这个类很简单,只存储字符串,例如
char* m_string;
我目前有一个标准构造函数 (MyString(const char* str)),它接受 const char* string,然后通过 m_string = new char[numChars + 1] 分配必要的内存(在计算参数中的字符数之后)
显然,我需要能够使用赋值运算符将一个字符串分配给另一个字符串,但也希望能够从另一个字符串对象构造一个字符串对象。即
MyString(const MyString& str)
{
}
关于重载=赋值运算符
然后我是否可以根据字符数获取 rhs 和 lhs 的长度,然后根据 rhs 比 lhs 长还是短来调整内存量?
我不一定想要完整的答案,因为我认为您不会从被告知答案中学到任何东西,但我们将不胜感激提供一些正确方向的建议和指导。
谢谢
【问题讨论】:
标签: c++ string constructor copy-constructor