创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数。下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是【 】。 #include<iostream> using namespac

admin2009-03-16  33

问题 创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数。下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是【  】。
   #include<iostream>
   using namespace std;
   class Foo{
   public:
       Foo(int x){cout<<’A’;}
       Foo(){}
   };
    int main()
   {
       Foo f[3], g(3);
       return 0;
   }

选项

答案A

解析 本题考查的是类的构造函数。题目中创建了一个含有3个元素的对象数组 f,因为创建对象数组时不能传递构造参数,所以系统会调用3次Foo类的默认构造函数,而该函数什么也没有做。另外还定义了一个对象8,并传入构造参数3,所以系统会调用1次Foo类中带有一个int型参数的那个构造函数,输出一个字符’A’。所以整个程序输出的结果为A。
转载请注明原文地址:https://kaotiyun.com/show/bojp777K
0

随机试题
最新回复(0)