|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
C++第二阶段测试
题目:字符串类的实现 班级:18级嵌入式
时间:2019.4.19
知识点:类、普通构造函数、深层拷贝构造函数、析构函数、
静态成员、友元、运算符重载
实现一个字符串类。
要求:
1. 字符串的保存必须在堆空间,即是使用 new char[1000] 生成的空间保存字符串
2. 字符串对象必须在超出作用域时及时释放空间
3. 实现字符串类下表中列出的所有成员
4. 写出检测代码测试每个成员函数
类名 MyString
类成员或函数部分描述如下:
序号 类成员原型 功能描述 其他
1 char *str; 保存字符串的堆空间地址的指针 数据成员
2 MyString(char *) 有参普通构造函数
3 MyString(MyString &) 深层拷贝构造函数
4 MyString( ) 无参构造函数
5 ~ MyString( ) 析构函数
6 int getLen() 得到字符串的长度 成员函数
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<b false
若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 |
|