C++运算符重载实例化mystring

本文详细介绍了如何在C++中通过实例化mystring类来实现常见运算符的重载,包括比较运算符(==, !=, >, <, >=, <=)和操作符([], +=, <<等),并提供了相关的头文件(mystring.h)、实现文件(mystring.cpp)以及主程序(main.cpp)的实现细节。" 115485260,8546762,CSS帧动画:中间向两边展开效果,"['前端开发', 'CSS', '动画', '帧动画']
摘要由CSDN通过智能技术生成

运算符重载

[],==,!=,>,<,>=,<=,+,=,+=,<<,>>

mystring.h

#ifndef MYSTRING_H
#define MYSTRING_H

#include <iostream>

using namespace std;


class MyString
{
   
public://构造
    MyString();
    MyString(const char *str);
    MyString(const MyString &mystr);
    ~MyString();
public://友元重载
    friend ostream &operator <<(ostream &out, MyString &mystr);
    friend istream &operator >>(istream &in, MyString &mystr);
public://内部重载
    char& operator [](int index);
    bool operator ==(MyString &mystr);
    bool operator !=(MyString &mystr);
    bool operator >(MyString &mystr);
    bool operator <(MyString &mystr);
    bool operator >=(MyString &mystr);
    bool operator <=(MyString &mystr);
    MyString operator +(MyString &mystr);
    MyString& operator =(MyString &mystr);
    MyString& operator +=(MyString &mystr);

    bool operator ==(char *str);
    bool operator !=(char *str);
    bool operator >(char *str);
    bool operator <(char *str);
    bool operator >=(char *str);
    bool operator <=(char *str);
    MyString operator +(char *str);
    MyString& operator =(const char *str);
    MyString& operator +=(char *str);
public:
    int length(void);

private:
    char *str;
};

#endif // MYSTRING_H

mystring.cpp

#include "mystring.h"
#include <cstring>

MyString::MyString()
{
   
    str = NULL;
}

MyString::MyString(const char *str)
{
   
    this->str = new char[strlen(str) + 1];
    strcpy(this->str, str);
}

MyString::MyString(const MyString &mystr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值