目的,实现自定义类型字符串,部分运算符重载。
#include
#include<string.h>
#include
class String
{
public:
String(){}
String(char* ptr)
{
mptr = new charstrlen(ptr) + 1;
strcpy_s(mptr, strlen(ptr) + 1, ptr);
}
const String operator +(const char *source)
{
char * tmp = new char[strlen(mptr)+strlen(source) + 1]();
strcpy_s(tmp, strlen(mptr) + 1,mptr);
strcat(tmp,source);
String strtmp(tmp);
return strtmp;
}
bool operator <(const String& rhs)
{
return strcmp(mptr,rhs.mptr) < 0;
}
bool operator != (const String& rhs)
{
return strcmp(mptr,rhs.mptr)!=0;
}
char& operator[](int i)
{
return mptr[i];
}
~String()
{
delete[] mptr;
mptr = NULL;
}
private:
char* mptr;
friend const String operator +(const char * ,const String& );
friend std::ostream& operator <<(std::ostream& out,const String& rhs);
C++实现字符串类及运算符重载

本文介绍如何在C++中创建一个自定义的字符串类,并重载加法运算符`+`,输出流运算符`<<`以及输入流运算符`>>`,以实现自定义字符串类型的拼接和I/O操作。示例代码中展示了这些运算符的使用方法。
最低0.47元/天 解锁文章
1165

被折叠的 条评论
为什么被折叠?



