原创 linux运算符重载

2024-6-9 08:43 298 2 2 分类: 软件与OS 文集: linux
代码;
/*
 * ccb.cpp
 *
 *  Created on: 2024-6-8
 *      Author: root
 */



//#include
#include
#include

class String{
public:
	String(const char* str=NULL);
	char *m_data;
	char *addstr;
	String& operator + (const String& rhs);

};
String::String(const char* str)
{
	if(str==NULL)
	{
		m_data=new char[1];
		m_data[0]='\0';

	}
	else
	{

		m_data=new char[strlen(str)+1];
		strcpy(m_data,str);

	}
}
String& String::operator+(const String& rhs)
{
	addstr=new char[strlen(m_data)+strlen(rhs.m_data)+1];
	strcpy(addstr,m_data);
	strcat(addstr,rhs.m_data);
	delete [] m_data;
	m_data=new char[strlen(addstr)+1];
	strcpy(m_data,addstr);
	delete [] addstr;
	return *this;
}

int main()
{
	String s1="I love ";
	String s2="C++!";
	s1 + s2;
	puts(s1.m_data);
	return 0;
}

运行结果:

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /3 下一条