运算符重载之MyString

#ifndef _MYSTRING_H
#define _MYSTRING_H
#include<iostream>


using namespace std;


class MyString
{
private:
char *m_data;
int m_length;
public:
MyString();
MyString(char *str);
MyString(int a, char ch);
MyString(const MyString &a);
~MyString();


//重载<< >>运算符,实现为全局函数
friend ostream &operator <<(ostream &out, const MyString &s);
friend istream &operator >>(istream &in, MyString &s);


//重载=运算符
MyString &operator =(char *str);
MyString &operator =(const MyString &s);


//重载[]运算符
char &operator [](int index);


//重载+ +=运算符
MyString &operator +(char *str);
MyString &operator +(const MyString &s);
MyString &operator +=(char *str);
MyString &operator +=(const MyString &s);


//重载== !=运算符
bool operator ==(char *str);
bool operator ==(const MyString &s);
bool operator !=(char *str);
bool operator !=(const MyString &s);


//重载> <运算符
bool operator >(char *str);
bool operator >(const MyString &s);
bool operator <(char *str);
bool operator <(const MyString &s);
};

#endif



#include"MyString.h"
#include<iostream>
#include<cstring>


using namespace std;


MyString::MyString()
{
m_length = 0;
m_data = NULL;
}


MyString::MyString(char *str)
{
m_length = strlen(str);
m_data = new char [m_length + 1];
strcpy(m_data, str);
m_data[m_length] = '\0';
}


MyString::MyString(int a, char ch)
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值