i6lan 分享题目的网站
试一试站内搜索 题目类型:问答题

肺结核病人的消毒隔离措施,错误
施工组织设计由施工单位的(
流程图是用图形的方式表示所要研
张某被界定为重要涉密人员, 2
三国演义歇后语“关羽开凤眼”的

完成下面类中成员函数的定义。


#include <iostream>

#include <string>

using namespace std;

class str

{private:

char *st;

public:

str(char *a)

{set(a);

}

str & operator=(____)

{delete st;

set(a.st);

return *this;

}

void show(){cout<<st<<endl;}

~str(){delete st;}

void set(char *s)//初始化st

{_____

strcpy(st,s);

}

};

void main()

{str s1("he"),s2("she");

s1.show(),s2.show();

s2=s1;

s1.show(),s2.show();}


答案:str &a,st=new char[strlen(s)+1];

[解析]对“=”运算符进行重载,调用时s2=s1,都是对象,所以形参使用对象的引用,不要使用对象作为形参(产生临时对象)。使用strcpy进行字符的复制,st必须有一定的空间,空间是strlen(s)+1(‘\0’作为结束符,strlen得到的长度不包括结束符)。

上一题 下一题

CopyRight©i6lan.com 关于本站
蜀ICP备2021017061号-1

川公网安备 51010402001278号