c++题,急~~~

来源:百度知道 编辑:UC知道 时间:2024/06/14 19:53:34
/*(1)自己定义一个字符串类CMyString, 成员变量包括:字符串的长度,指向字符串第一个字符的指针,
成员函数应包括:不带参数的构造函数,带一个类型为const char *类型的参数(用于对字符串初始化),
带一个const CMyString&类型的拷贝构造参数,析构函数, Strlen函数 (用于求字符串的长度),
int Find(char c) (找出字符c在本字符串中第一次出现的位置,并返回其下标;如果本字符串中不包含c,则返回-1),
int Find(const char *str1) ( 找出字符串str1在本字符串中第一次出现的位置,并返回其下标;
如果本字符串中不包含字符串str1,则返回-1),
int Find(const CMyString& str1) (找出字符串str1在本字符串中第一次出现的位置,并返回其下标;
如果本字符串中不包含字符串str1,则返回-1),
int Replace(char c1, char c2) (将本字符串中出现的所有字符c1用字符c2替换, 返回替换的次数),
void Replace(const char *str1, const char *str2) (将本字符串中第一次出现的字符串str1用字符串str2替换),
void Display() (用于显示字符串)
并且,对运算符[]+=等进行重载,例如,设str1和str2是两个CMyString类的对象,
用str1[i]表示字符串str1的下标为i的字符;
str1+str2的结果是将str2连在str1的后面,并将结果仍然存放在 str1中;
用=表示赋值。
(2)编写主函数,定义几个CMyString类的对象,并利用键盘输入字符串的内容,编程验证以上定义的所有函数。
class CMyString
{
private:
int m_nLen;
char *m_szStr;
public:
CMyString(void);
CMyString(const char *str);//用于对

题目太多了

先问一下你的m_nLen,有没有把结尾的'\0'算进去。还是就是字符串长度?

在给你写了

搞鸡毛匿名啊,给你发个消息都不能

#include <iostream>
#include <cstring>
using namespace std;
class CMyString
{
private:
int m_nLen;
char *m_szStr;
public:
CMyString(void);
CMyString(const char *str);//用于对字符串初始化
CMyString(const CMyString& str1);
~CMyString(void);//const CMyString&类型的拷贝构造参数,析构函数,
int Strlen(void);//用于求字符串的长度
int Find(char c);//找出字符c在本字符串中第一次出现的位置,
//并返回其下标;如果本字符串中不包含c,则返回-1
int Find(const char *str1); //找出字符串str1在本字符串中第一次出现的位置,并返回其下标;
// 如果本字符串中不包含字符串str1,则返回-1
int Find(const CMyString& str1);//找出字符串str1在本字符串中第一次出现的位置,并返回其下标;
// 如果本字符串中不包含字符串str1,则返回-1
int Replace(char c1, char c2);//将本字符串中出现的所有字符c1用字符c2替换, 返回替换的次数
void Replace(const char *str1, const char *str2);//将本字符串中第一次出现的字符串str1用字符串str2替换
char& operator[](int i);
CMyString opera