有如下类定义:classA{char*a;public:A( ):a(O){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间a=__;strcpy(a,aa);}~A( ){delete[]a;}};横线处应填写的表达式是( )。A.Newchar[strlen(aa)+1]B.char[strlen(aa)+1]C.char[strlen(aa)]D.newchar[sizeof(aa)-1]

题目

有如下类定义:

classA{

char*a;

public:

A( ):a(O){}

A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间

a=__;

strcpy(a,aa);

}

~A( ){delete[]a;}

};

横线处应填写的表达式是( )。

A.Newchar[strlen(aa)+1]

B.char[strlen(aa)+1]

C.char[strlen(aa)]

D.newchar[sizeof(aa)-1]


相似考题
更多“有如下类定义: classA{char*a; public: A( ):a(O){}A(char*aa){//把aa所指字符串拷贝到a所指向 ”相关问题
  • 第1题:

    有以下类定义:

    class 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
    解析:为a申请一个比aa串长增加1的一个存储空问。B和C缺少new运算子,D分配空间不足。

  • 第2题:

    下列函数的功能是

    fun(char *a,char *B)

    { while((*b=*A)! =‘\O’) {a++;b++;}}

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有‘\O’


    正确答案:A
    解析:表达式*b=*a是将a所指的字符赋给b所指的空间,然后,指针a和b依次后移,直到到达指针a所指字符串的结尾。

  • 第3题:

    关于类定义中的语句错误的是 class A { iht i; A a; A * b; char * ch;};

    A.int i;

    B.A a;

    C.A * b;

    D.char * ch;


    正确答案:B
    解析:C++语言中类定义中若想用该类来定义数据只能定义为指针类型的,而不能定义为普通类型的。注意:C++语言类的定义的方法

  • 第4题:

    若有定义:char*ps[]={“aa”,“bb”,“cc”,“dd”};,则以下叙述正确的是()。

    Aps[0]是字符串”aa”

    B*ps[0]是字符串”aa”的首地址

    Cps[0]是字符串”aa”的首地址

    D*ps[0]是字符串”aa”


    正确答案:C

  • 第5题:

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

    A.Dewchar[strlen(aa)+1]

    B.char[strlen(aa)+1]

    C.char[strlen(aa)]

    D.newchar[sizeof(aa)-1]


    正确答案:A
    A。【解析】对动态分配存储空间的考查,在C++中,回车键需计一字符,即总的长度为strlen(aa)+1。