有如下类定义: class A{ char *a; public: A():*(0){} A(char * aA){//把aa所指字符串拷贝到a所指向的存储空间 a=________; strcpy(a,aA); } ~A(){delete[]a;} };

admin2017-10-17  29

问题 有如下类定义:
class A{
char *a;
public:
A():*(0){}
A(char * aA){//把aa所指字符串拷贝到a所指向的存储空间
a=________;
strcpy(a,aA);
}
~A(){delete[]a;}
};
横线处应填写的表达式是

选项 A、new char[strlen(aA)+1]
B、char[strlen(aA)+1]
C、char[strlen(aA)]
D、new char[sizeof(aA)-1]

答案A

解析 利用new运算符进行内存申请操作,长度为aa字符串长度加上字符串结束标志‘\0’,总共申请strlen(aa)+1字节,故选A)。
转载请注明原文地址:https://kaotiyun.com/show/8PAp777K
0

最新回复(0)