[单选题]有以下程序: #include iostream> #include string> using namespace std; int main ( ) { char b1[8] = "abcdefg"; char b2[8],*pb=b1+3; while (--pb>=b1) strcpy (b2, Pb) ; coutstrlen (b2) end1; return 0; } 程序运行后的输出结果是( )。
正确答案 :C
7
解析:解析:本题考查常用字符串函数的熟悉程度。先来了解程序中的两个字符串函数:①函数strcpy()的函数原型为:char*strcpy(char*strDest,constchar*strSrC);,其功能是复制strSrc所有字符到strDest,并返回strDest。②函数strlen()的函数原型为:sizetstrlen(constchar*string);,其函数功能为:返回string的长度,不包括结束字符'\0'。再看程序:程序首先定义了一个字符数组b1和一个指针pb,并让指针pb指向数组中的b1[3]。由于在while语句中,每次循环都是把指针pb所指向的字符串复制到数组b2中,所以可以不考虑循环的中间过程,直接分析最后一次循环。循环体中的最后一次循环条件是pb==b1,即指针pb指向了数组元素b1[0],此时把指针pb所指向的字符串复制到数组b2中,就相当于把数组b1中的字符串复制到数组b2中。所以最后数组b2中保存的就是数组b1中的字符串,其长度为7(不包括字符串结束符号'\0')。
[单选题]实现动态分配对象列表的类是( )。
正确答案 :C
Vector类
[单选题]有如下类声明:
正确答案 :M
XB::XB(int a,int B) :XA(A) ,y(B) {}
解析:解析:本题考核派生类中构造函数的定义。C++中派生类构造函数的一般语法规则为:派生类名>::派生类名>(参数表>):基类名 1>(参数表 1),...基类名n>(参数表n>),子对象 1>(子对象参数表 1>),...子对象 m>(子对象参数表 m>){派生类新增成的初始化语句>;},对照上述表达只有B选项符合要求.
[单选题]下列关于构造方法说法正确的是
正确答案 :C
只能用运算符new调用构造方法
解析:解析:本题考查构造方法的概念。构造方法用来初始化类的一个对象,构造方法具有和类一样的名称,选项A说法错误。构造方法没有返回类型还可以重载,选项B说法错误。构造方法只能用运算符new调用构造方法,选项C说法正确。如果没有定义构造方法,在Java运行时,系统会自动提供默认的构造方法,它没有任何参数,选项D说法错误。
[单选题]下列关于Applet的安全限制的叙述中,错误的是( )。
正确答案 :C
通常情况下,禁止Applet读取系统信息
查看原题