假设已经有定义 “constChar * name="chen";”下面的语句中错误的是()。
假设已经有定义 “constChar * name="chen";”下面的语句中错误的是()。
A name[3]='q';
B name=
C name=newChar[5];
D name=newChar('q');
假设已经有定义 “constChar * name="chen";”下面的语句中错误的是()。
A name[3]='q';
B name=
C name=newChar[5];
D name=newChar('q');
假设已经有定义“char *Const name="chen";”下面的语句中正确的是()。
A name[3]='q';
B name=
C name=newChar[5];
D name=newChar('q');
A.name[3]='a';
B.name="lin";
C.cout<<name[3];<br>
D.name=new char[5]
C++语句const char * const p="hello" , ,所定义的指针p和它所指的内容都不能被 【10】 。
有如下的程序: #include #include usingnamespacestd; classMyString {public: MyString(constchar*s); MyString(){delete[]data;} protected: unsignedlem char*data;}; MyStrin9::MyString(constchar*s) {len=strlen(s); data=newchar[len+1]; strcpy(data,s);} intmain() {MyStringa("C++Programing"); MyStringb(a); return0;} 在运行上面的程序时出错,出错的原因是()。
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制的复制构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成默认的复制构造函数
应添加“virtualvoidGetNamt!=0;”。 (2)应添加“constchar*GetName2”。 (3)应添加“TC2(char*str)”。 (4)应添加“m_str[i]=0;”。 【解析】本题第1处要求“在类TC1中定义接口函数GetName,为纯虚函数”。在C++中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtualvoidGetName=0;”。第2处要求“函数GetName2实现获得名字的缓存,但只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,所以使用常成员函数,其一般形式为“const函数类型函数名”,即“constchar*GetName2”。第3处要求“实现TC2的构造函数”。TC2的构造函数与类TC2的名称应该相同,而且第3处的大括弧中是对字符数组str的操作,所以类TC2的构造函数中的参数为str,即这里补全为“TC2(char*str)”。第4处要求“完成TC2的构造函数,实现对名字的处理”,补全类TC2的构造函数,构造函数中的名字变量str对应于类TC中的成员变量m_str,所以这里补全变量赋值操作“m_str[i]=0;”。
A.char*
B.constchar*
C.char
D.constchar
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!