有如下类定义: ciass A { char *a; public: A():a(0){} A(char *aa){∥把aa所指字符串拷贝到a所指向的存储空间 a= ___ ; strcpy(a,aa

admin2019-04-01  40

问题 有如下类定义:
    ciass A {
    char *a;
    public:
    A():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

解析 函数strlen(aa)返回字符串aa中字符的个数,不包括末尾的空字符。所以在内存空间创建字符数组a时,需要字符数组的长度是strlen(aa)+1。
转载请注明原文地址:https://kaotiyun.com/show/CiAp777K
0

最新回复(0)