首页 > 试题广场 >

6.假定有类AB,有

[单选题]
假定有类AB,有相应的构造函数定义,能正确执行
AB a(4), b(5), c[3], *p[2] = {&a, &b};
语句,请问执行完此语句后共调用该类的构造函数次数为___
  • 5
  • 4
  • 3
  • 9
推荐
A
只有给对象分配内存才调用构造函数 AB a(4) 定义对象a, 调用了带一个参数的构造
AB b(5)跟上面的性质类似, 调用了带一个参数的构造
AB c[3] 跟上面的性质类似, 定义对象数组,调用无参构造3次
AB *p这至是一个指针,没有指向任何空间,更么有分配内存,不会调构造

编辑于 2015-12-31 10:14:45 回复(5)
a(4),一个对象a,调用1次构造函数;
b(5),一个对象b,调用1次构造函数;
c[3],三个对象c[0],c[1],c[2],调用3次构造函数;
*p[2],指针数组,其元素分别指向a和b,所以没有调用构造函数。
总共5次。
发表于 2015-10-05 14:08:00 回复(1)
只有给对象分配内存才调用构造函数 指针没有new一个对象,所以不会分配内存,不构造。
只是给指针指向某地值的话,没有开辟空间,不构造。

发表于 2017-07-27 17:47:51 回复(0)
擦,以为是AB(3)
发表于 2015-09-20 00:21:47 回复(1)
只有给对象分配内存才会调用构造函数。
发表于 2016-05-16 13:19:25 回复(0)
发表于 2021-01-04 09:50:47 回复(0)
a,b各执行一次,c[3]执行三次,*p[2]是指针不执行
发表于 2015-09-12 10:25:58 回复(0)
a(4),一个对象a,调用1次构造函数; b(5),一个对象b,调用1次构造函数; c[3],三个对象c[0],c[1],c[2],调用3次构造函数; *p[2],指针数组,其元素分别指向a和b,所以没有调用构造函数。 总共5次。
发表于 2019-03-15 15:24:45 回复(0)
题看错了  注意是c[3]  而不是c(3)
发表于 2017-03-06 14:01:47 回复(0)
AB a(4);

调用1次构造函数,4是传递给构造函数的参数;

AB b(5);

调用1次构造函数,5是传递给构造函数的参数;

AB c[3];

数组c,其内部有3个AB对象,需要调用3次无参构造函数;

AB *p[2] = {&a, &b};
//类似于数组的初始化
int a[3] = {1, 2, 3};

数组p有2个元素,2个元素是AB类型的指针,分别指向AB实例a和b,不会调用构造函数。

编辑于 2020-09-22 20:15:54 回复(0)
指向已经存在的类对象,因而并没有调用构造函数。
发表于 2020-04-03 20:37:23 回复(0)
A 只有给对象分配内存才调用构造函数 AB a(4) 定义对象a, 调用了带一个参数的构造 AB b(5)跟上面的性质类似, 调用了带一个参数的构造 AB c[3] 跟上面的性质类似, 定义对象数组,调用无参构造3次 AB *p这至是一个指针,没有指向任何空间,更么有分配内存,不会调构造
发表于 2018-12-02 09:22:24 回复(0)
a(4),一个对象a,调用1次构造函数;
b(5),一个对象b,调用1次构造函数;
c[3],三个对象c[0],c[1],c[2],调用3次构造函数;
*p[2],指针数组,其元素分别指向a和b,所以没有调用构造函数。
总共5次。

只有给对象分配内存才调用构造函数 指针没有new一个对象,所以不会分配内存,不构造。
只是给指针指向某地值的话,没有开辟空间,不构造。

发表于 2022-05-04 14:26:56 回复(0)
类ab我还以为有两个类呢
发表于 2022-02-10 00:14:01 回复(0)
注意 类指针不掉用构造函数!!!
发表于 2021-04-15 14:59:46 回复(0)
AB a(4),b(5),c[3],*p[2]={&a,&b};
a调用一次,b调用一次,c是数组调用3次
p是指针没有分配空间,不会调用
发表于 2020-07-20 15:03:54 回复(0)
看成从c(3)了有木有...
发表于 2020-07-08 08:33:03 回复(0)
这是考我中括号和小括号看不看得清吗。。。

发表于 2019-12-31 12:33:57 回复(0)
为什么a(4) 和 b(5)  不能看做是函数?
发表于 2018-05-10 13:13:10 回复(0)
*p[2]={&a,&b}    //只是指针指向两个对象,没有构造新的对象
发表于 2017-11-17 17:15:25 回复(0)
*p[2]是两个地址,不调用构造函数,所以公调用3次
发表于 2016-03-30 10:17:49 回复(0)