邵东微网站建设,做网站建设推广好做吗,公司企业如何做网站,北京网站建设公司哪家最好6-1 CString字符串类 分数 20 作者 谢颂华 单位 武汉理工大学 定义一个字符串类CString#xff0c;使其至少包含内容(contents)和长度(length)两个数据成员#xff0c;要求定义以下成员函数#xff1a;构造函数、显示字符串函数display()、求字符串长度函数getlength()和字符…6-1 CString字符串类 分数 20 作者 谢颂华 单位 武汉理工大学 定义一个字符串类CString使其至少包含内容(contents)和长度(length)两个数据成员要求定义以下成员函数构造函数、显示字符串函数display()、求字符串长度函数getlength()和字符串连接函数append()。
CString类定义
class CString //字符串类声明
{ int length; char *contents;
public: CString();//不带参构造函数CString(const char *str); //带参构造函数void display() const;// 显示字符串函void getlength();//求字符串长度函void append(const char *tail); //字符串连接函数
};
/* 请在这里填写答案 */裁判测试程序样例
#include iostream
#include string
using namespace std;
int main()
{ char a[10],b[10],c[10];cinabc;CString s1,s2(a);s1.display();s2.display();s2.getlength();CString s3(b);s3.append(c);cout;s3.display(); return 0;
} 输入样例 we are student 输出样例 string is empty string:we length:2 string:arestudent CString::CString() {length 0;contents nullptr;
}// 带参构造函数的类外实现
CString::CString(const char *str) {if (str nullptr) {length 0;contents nullptr;} else {length static_castint(strlen(str));contents new char[length 1];strcpy(contents, str);}
}// 显示字符串函数的类外实现
void CString::display() const {if (length 0) {cout string is empty endl;} else {cout string: contents endl;}
}// 求字符串长度函数的类外实现
void CString::getlength() {coutlength:lengthendl;
}// 字符串连接函数的类外实现
void CString::append(const char *tail) {int new_length length static_castint(strlen(tail));char *new_contents new char[new_length 1];strcpy(new_contents, contents);strcat(new_contents, tail);delete[] contents;contents new_contents;length new_length;
}