关注
#include<iostream>
class MyString
{
public:
MyString (const char *str=NULL);
MyString (const MyString &other);
~ MyString(void);
MyString & operator = (const MyString & other);
private:
char *m_data;
};
#include "MyString.h"
using namespace std;
MyString::MyString(const char *str):m_data(NULL)
{
char *p = NULL;
if(str == NULL)
{
p = new char[1];
if(p == NULL)
{
//分配空间失败
cout<<"分配空间失败"<<endl;
exit(-1);
}
else
{
*p = '\0';
m_data = p;
p = NULL;
}
}
else
{
size_t length = strlen(str);
p = new char[length +1];
if(p == NULL)
{
//分配空间失败
cout<<"分配空间失败"<<endl;
exit(-1);
}
else
{
strcpy(p,str);
m_data = p;
p = NULL;
}
}
}
MyString::MyString (const MyString &other)
{
char *p = NULL;
size_t length = strlen(other.m_data);
p = new char[length+1];
if(p == NULL)
{
//分配空间失败
cout<<"分配空间失败"<<endl;
exit(-1);
}
else
{
strcpy(p,other.m_data);
m_data = p;
p = NULL;
}
}
MyString::~MyString(void)
{
if(m_data != NULL)
{
delete[] m_data;
m_data = NULL;
}
}
MyString & MyString::operator=(const MyString & other)
{
if(this == &other)
{
return *this;
}
char *p = NULL;
size_t length = strlen(other.m_data);
p = new char[length+1];
if(p == NULL)
{
//分配空间失败
cout<<"分配空间失败"<<endl;
//exit(-1);
return *this;//没有修改
}
else
{
strcpy(p,other.m_data);
delete[] m_data;
m_data = p;
p = NULL;
}
return *this;
}
查看原帖
点赞 4
相关推荐
10-24 16:44
同济大学 算法工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我是面试官,请用一句话让我破防 #
15920次浏览 100人参与
# 美团开奖 #
183107次浏览 969人参与
# “vivo”个offer #
32896次浏览 247人参与
# 校招生月薪1W算什么水平 #
15125次浏览 112人参与
# 中美关税战对我们有哪些影响 #
37660次浏览 306人参与
# i人适合做什么工作 #
7742次浏览 81人参与
# 快手技术岗信息交流阵地 #
15662次浏览 82人参与
# 读研or工作,哪个性价比更高? #
75125次浏览 762人参与
# 华为保温 #
102291次浏览 382人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
17121次浏览 79人参与
# 小厂实习有必要去吗 #
69822次浏览 344人参与
# 哪些行业值得去? #
2795次浏览 40人参与
# 秋招什么时候开投比较合适? #
109729次浏览 807人参与
# 如果秋招能重来,我会____ #
29469次浏览 255人参与
# 华为池子有多大 #
107366次浏览 748人参与
# 美团求职进展汇总 #
2805811次浏览 23836人参与
# 上班后和你想的一样吗? #
87374次浏览 666人参与
# 苦尽甘来时,再讲来时路 #
26176次浏览 359人参与
# 为了实习逃课值吗? #
23022次浏览 213人参与
# 大家实习每天都在干啥 #
97018次浏览 536人参与
# 工作压力大怎么缓解 #
119587次浏览 1112人参与
# 如果上班像打游戏,你最想解锁什么技能 #
5501次浏览 55人参与
