⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mystring.cpp

📁 此代码涉及vc中运算符的重载
💻 CPP
字号:
// Mystring.cpp: implementation of the Mystring class.
//
//////////////////////////////////////////////////////////////////////

#include "Mystring.h"
#include <string.h>
#include <iostream.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Mystring::Mystring()
{
	
	this ->arr =new char[1];
	arr[0] = '\0';
}

Mystring::~Mystring()
{
	delete [] arr;
}
Mystring::Mystring( char *str)
{
	int s = strlen(str);
	this->arr = new char[s+1];


	strcpy(arr,str);
}
Mystring::Mystring(const Mystring &mystr)
{
	arr = new char[strlen(mystr.arr)+1];
	strcpy(this->arr,mystr.arr);
}
//等号的重载(系统已经有了等号的重载)
Mystring Mystring::operator=(const Mystring& mystr)
{
	Mystring mstr;
	mstr.arr= new char[strlen(mystr.arr)+1];
	strcpy(mstr.arr,mystr.arr);
	return mstr;
}
void Mystring::show()
{
	cout << arr << endl;
}

 Mystring operator+(const Mystring& mystr1,const Mystring& mystr2)
{
	Mystring res;
	res.arr = new char[strlen(mystr1.arr)+strlen(mystr2.arr)+1];
	strncpy(res.arr,mystr1.arr,strlen(mystr1.arr));
	strncpy(res.arr+strlen(mystr1.arr),mystr2.arr,strlen(mystr2.arr));
	res.arr[strlen(mystr1.arr)+strlen(mystr2.arr)] = '\0';
	return res;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -