📄 mystring.h
字号:
//MyString.h-类定义文件
#ifndef __MYSTRING_H__
#define __MYSTRING_H__
#include <iostream.h>
#include <string.h>
class CMyString
{
public:
CMyString(); //无参构造函数
virtual ~CMyString(); //析构函数
CMyString(char *str); //有参构造函数
CMyString(CMyString &str);//复制构造函数
public:
char *m_pstr;//字符串头指针
int m_len; //字符串的长度
int m_size; //字符串的大小,包括'\0'
public:
const char * Convert(); //const char *转换
//运算符重载
CMyString & operator =(char *str);//赋值=重载
CMyString & operator =(CMyString &str);
char * operator +(char *str);//加法
char* operator +(CMyString &str);
int Compare(char *cmpstr); //字符串比较函数
int Compare(CMyString &cmpstr);
int operator <(char *cmp); //小于
int operator <(CMyString &cmp);
int operator >(char *cmp); //大于
int operator >(CMyString &cmp);
int operator ==(char *cmp); //等于
int operator ==(CMyString &cmp);
char operator [](int i); //下标运算符
};
void main()
{
cout<<"第五题"<<endl<<endl;
cout<<"带参构造函数实例"<<endl;
CMyString str1("This is a my class-string!");
cout<<str1.m_pstr<<endl;
cout<<"复制构造函数实例"<<endl;
CMyString str2(str1);
cout<<str2.m_pstr<<endl;
cout<<"const char *转换"<<endl;
const char *constchar;
constchar=str1.Convert();
cout<<constchar<<endl;
cout<<"赋值操作"<<endl;
CMyString str3;
str3="overloaded operators:=(char *str)";
cout<<str3.m_pstr<<endl;
CMyString str4;
str4="overloaded operators:=(CMyString &str)";
cout<<str4.m_pstr<<endl;
cout<<"加法操作"<<endl;
CMyString str5("CMyString");
str5=str5+"+char *";
cout<<str5.m_pstr<<endl;
CMyString str6("CMyString"),str6_2("+CMyString");
str6=str6+str6_2;
cout<<str6.m_pstr<<endl;
cout<<"字符串比较"<<endl;
CMyString str7("string compare");
int i=(str7=="string compare");
if(i)
cout<<i<<" "<<"两个字符串相等"<<endl;
cout<<"下标运算符重载"<<endl;
cout<<str7[2]<<endl;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -