无敌与我 发表于 2019-4-19 12:09:11

c++大神们!!麻烦您们了!

                     C++第二阶段测试

题目:字符串类的实现   班级:18级嵌入式
时间:2019.4.19
知识点:类、普通构造函数、深层拷贝构造函数、析构函数、
      静态成员、友元、运算符重载
实现一个字符串类。
要求:
1. 字符串的保存必须在堆空间,即是使用 new char生成的空间保存字符串
2. 字符串对象必须在超出作用域时及时释放空间
3. 实现字符串类下表中列出的所有成员
4. 写出检测代码测试每个成员函数
类名MyString
类成员或函数部分描述如下:
序号        类成员原型        功能描述        其他       
1        char*str;        保存字符串的堆空间地址的指针        数据成员       
2        MyString(char *)        有参普通构造函数               
3        MyString(MyString&)        深层拷贝构造函数               
4        MyString( )        无参构造函数               
5        ~ MyString( )        析构函数               
6        intgetLen()        得到字符串的长度        成员函数       
7        char getCharAt(int index)        得到字符串中第index个字符        成员函数       
8        MyString operator+( MyString& )        实现2个字符串连接        运算符重载       
9        bool operator<( MyString& )        比较2个字符串        运算符重载       
10        ostream operator<<( ostream & , MyString& )         析取运算符重载;用于输出字符串内容        运算符重载       
11        void display()        显示字符串内容        成员函数       

bool operator<( MyString& ) 比较2个字符串说明:
对<运算符重载
< 可以比较2个字符串类对象的大小
比较规则如下:
例:
a 和 b是MyString 类型对象
a<b表达式
2个字符串完全相同,返回a<bfalse
若2个字符串前n个字符相同,
第n+1个字符不同,
若a的第n+1个字符的ASCII小于b的第n+1个字符的ASCII,则a<b返回true
若a的第n+1个字符的ASCII大于于b的第n+1个字符的ASCII,则a<b返回false
页: [1]
查看完整版本: c++大神们!!麻烦您们了!