问题 单项选择题

有如下类定义:
class Point
int x_,y_;
public:
Point( ):x_(0),y_(0)
Point(int x,int y=0):x_(x),y_(y)

若执行语句:
Point a(2),b[3],*c[4];
则Point类的构造函数被调用的次数是

A.2次

B.3次

C.4次

D.5次

答案

参考答案:C

解析: a(2)执行一次,调用带参构造函数;b[3]生成一个对象数组,所以执行3次无参构造函数,生成3个对象数组元素;*c[4]定义一个对象指针,并没产生对象,所以没有调用构造函数。

单项选择题
问答题