( 29 )有如下程序:#include<iostream>using namespace std;class Name{char name[20];public:Name(){strcpy(name,""); cout<<'?';}Name(char *fname)){strcpy(name,fname); cout<'?';}};int main(){Name names[3]={Name(" 张三 "),Name(" 李四 ")};Return 0;}运行此程序输出符号?的个数是A ) 0B ) 1

题目

( 29 )有如下程序:

#include<iostream>

using namespace std;

class Name{

char name[20];

public:

Name(){

strcpy(name,""); cout<<'?';

}

Name(char *fname)){

strcpy(name,fname); cout<'?';

}

};

int main(){

Name names[3]={Name(" 张三 "),Name(" 李四 ")};

Return 0;

}

运行此程序输出符号?的个数是

A ) 0

B ) 1

C ) 2

D ) 3


相似考题
更多“( 29 )有如下程序:#include&lt;iostream&gt;using namespace std;class Name{char name[20];publ ”相关问题
  • 第1题:

    有以下程序段

    char.name[20];int num;

    scanf(“name=%s num=%d”,name,&num);

    当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为

    A.Lill

    B.name=Lili

    C.Lili.num=

    D.name=Lili num—1001


    正确答案:A
    解析:scanf函数巾的格式控制字符串是为了输入数据用的.尤论其中有什么字符.也不会输出到屏幕上。输入数据时要按照一一对应的位置原样输入这些字符,包括字符的大小写、字符间的间隔等必须与scanf巾的完全一致。故执行程序后name的值为Lli。

  • 第2题:

    有如下程序: #include<iostream> usingnamespacestd; className{ charname[20]; public: Name( ){ strcpy(name,"");cout<<?; } Name(char*fname){ strcpy(name,fname);cout<<?; } }; intmain( ){ Namenames[3]={Name(”张三”),Name(”李四”)); return0; } 运行此程序输出符号?的个数是( )。

    A.O

    B.1

    C.2

    D.3


    正确答案:D
    D。【解析】对有参与无参构造函数的调用。当names[2]为空时调无参构造函数,而names[0],names[1]调用有参构造函数,即输出3个“?”。

  • 第3题:

    若定义如下结构,则能打印出字母M的语句是()。 struct person{ char name[9]; int age;}; struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22};

    A.printf("%cn",class[3].name);

    B.printf("%cn",class[2].name[0]);

    C.printf("%cn",class[2].name[1]);

    D.printf("%cn",class[3].name[1]);


    10]={“John”,17,“Paul”,19,“Mary”,18,“Adam”,16};

  • 第4题:

    有如下程序:includeusing namespace std;class Name{char name[20];public:Name( ){s

    有如下程序: #include<iostream> using namespace std; class Name{ char name[20]; public: Name( ){strepy(name," ");tout<<'?';} Name(char*fname){strcpy(name,fname);cout<<'?';} }; int main( ){ Name name[3]={Name("张三"),Name("李四")}; return 0; } 运行此程序输出符号“?”的个数是

    A.0

    B.1

    C.2

    D.3


    正确答案:D
    解析:Name name[3]定义了一个name对象数组,有3个元素,前2个调用Name(char *fname)构造函数,第三个元素调用Name( )构造函数,故打印3个“?”。

  • 第5题:

    有如下程序: #include<iostream> usingnamespacestd; className{ charname[20]; public: Name( ){ strcpy(name,"");cout<<'?'; } Name(char*fname){ strcpy(name,fname);cout<<'?'; } }; intmain( ){ Namenames[3]={Name(”张三”),Name(”李四”)); return0; } 运行此程序输出符号?的个数是( )。

    A.O

    B.1

    C.2

    D.3


    正确答案:D
    D。【解析】对有参与无参构造函数的调用。当names[2]为空时调无参构造函数,而names[0],names[1]调用有参构造函数,即输出3个“?”。