有如下程序: #include using namespace std; class Name{ char name[20]; public: Name(){ strcpy(name,…"");cout

admin2020-07-23  23

问题 有如下程序:
  #include
  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

答案D

解析 对有参与无参构造函数的调用。当names[2]为空时调无参构造函数,而names[0],names[1]调用有参构造函数,即输出3个“?”。
转载请注明原文地址:https://jikaoti.com/ti/GOl0FFFM
0

最新回复(0)