题目如图片所示,给了部分代码,根据书上例题填写。
#include
using namespace std;
class MyString
{
public:
const char * get_string()
{
return m_pbuf; //取得字符串的首地址
}
const char * set_string(const char * p = NULL); //将p指向的字符串保存在MyString类中
const char * append(const char * p = NULL); //将p指向的字符串追加到原有字符串之后
MyString & append(MyString & s); //将s对象中的字符串追加到当前对象的字符串之后并返回对象
int get_length()
{
return strlen(m_pbuf); //取得保存的字符串的长度
}
private:
char * m_pbuf;
};
//只需要输入3个函数
const char * MyString::set_string(const char * p)
{
......
}
const char * MyString::append(const char * p)
{
......
}
MyString & MyString::append(MyString & s)
{
......
}
int main()
{
MyString str;
char s1[200],s2[200];
cin.getline(s1,200); //gets(s1);
cin.getline(s2,200); //gets(s2);
cout << "类的大小:" << sizeof(MyString) << endl;
str.set_string(s1);
//教材中的'\t'修改成空格
cout << "字符串长度:" << str.get_length() << " "
<< str.get_string() << " "
<< "对象大小:" << sizeof(str) << endl;
str.append(s2);
cout << "字符串长度:" << str.get_length() << " "
<< str.get_string() << " "
<< "对象大小:" << sizeof(str) << endl;
return 0;
}
你自己上网搜搜呗,网上的都有,我们无非就是上网搜就是GPT