【15】实现一个MyString类

本文介绍了如何实现一个MyString类,包括赋值运算符函数的返回值应为类的引用,拷贝构造函数的参数必须为引用以防止无限递归,赋值运算符函数中参数应为const引用以提高效率,以及在赋值操作中避免自我赋值导致的问题,同时强调了及时释放内存和使用const保护只读参数的重要性。
摘要由CSDN通过智能技术生成


题目:实现一个MyString类,类的声明如下

//MyString函数的实现
class MyString{
public:
	MyString(char *pData = NULL);
	MyString(const MyString &string);
    MyString& operator=(const MyString &string);
	~MyString();
private:
	char *m_dada;
};

实现如下

//实现构造函数
MyString::MyString(char *pData){
	if(pData == NULL){
	    return;
	}
	else{
	    int len = strlen(pData);
	    this->m_dada = new char[len+1];
	    strcpy(this->m_dada, pData);
	}
}

//实现拷贝构造函数
MyString::MyString(const MyString &string){
	int len = strlen(string.m_dada);
	this->m_dada = new char[len+1];
	strcpy(this->m_dada, string.m_dada);
}

//实现operator=
MyString& MyString::operator=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值