关注
#include "iostream"
using namespace std;
class MyString
{
public:
MyString(const char *str = NULL);//构造函数,默认为空
MyString(const MyString &other);//拷贝构造函数
~MyString(void);//析构函数
MyString & operator = (const MyString & other);//赋值函数
void a() { cout << *m_data << endl; }
private:
char *m_data;
};
MyString::MyString(const char *str)//构造函数,默认为空
{
int len = strlen(str)+1;
m_data = new char[len];
if (m_data != NULL)
{
if (str == NULL)
{
m_data = '\0';
}
else
{
if (m_data != str)
{
strcpy_s(m_data, len, str);
}
}
}
}
MyString::MyString(const MyString &other)//拷贝构造函数
{
if (other.m_data != m_data)
{
int len = strlen(other.m_data) + 1;
if (other.m_data != NULL)
{
m_data = new char[len];
}
if (m_data != NULL)
{
strcpy_s(m_data, len, other.m_data);
}
}
}
MyString::~MyString(void)//析构函数,无参数无输出
{
delete[] m_data;
m_data = NULL;
}
MyString & MyString::operator= (const MyString & other)//赋值函数,返回引用
{
if (this==&other)
{
return *this;
}
delete[] m_data;
int len = strlen(other.m_data) + 1;
m_data = new char[len];
if (m_data != NULL)
{
if (this->m_data != other.m_data)
{
strcpy_s(m_data, len, other.m_data);
}
}
return *this;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我是面试官,请用一句话让我破防 #
14109次浏览 96人参与
# 美团开奖 #
177778次浏览 945人参与
# 快手技术岗信息交流阵地 #
15234次浏览 81人参与
# 如果秋招能重来,我会____ #
28009次浏览 241人参与
# 中美关税战对我们有哪些影响 #
36591次浏览 292人参与
# i人适合做什么工作 #
7062次浏览 76人参与
# “vivo”个offer #
31945次浏览 240人参与
# 读研or工作,哪个性价比更高? #
74548次浏览 761人参与
# 华为保温 #
101364次浏览 372人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
16729次浏览 79人参与
# 小厂实习有必要去吗 #
69422次浏览 344人参与
# 校招生月薪1W算什么水平 #
12797次浏览 96人参与
# 哪些行业值得去? #
2365次浏览 40人参与
# 秋招什么时候开投比较合适? #
109401次浏览 807人参与
# 华为池子有多大 #
106750次浏览 745人参与
# 美团求职进展汇总 #
2803147次浏览 23823人参与
# 上班后和你想的一样吗? #
87042次浏览 666人参与
# 苦尽甘来时,再讲来时路 #
25069次浏览 348人参与
# 为了实习逃课值吗? #
22033次浏览 207人参与
# 大家实习每天都在干啥 #
96661次浏览 535人参与
# 工作压力大怎么缓解 #
119239次浏览 1112人参与
# 如果上班像打游戏,你最想解锁什么技能 #
5036次浏览 50人参与
