有如下类定义: class Point { int x_,y_; public: Point():x_(0),y_(0){} Point(int x,hat y=0):x_(x),y_(y){} }; 若执行语句 Point a(2),b{3},*c[4]

admin2015-11-24  21

问题 有如下类定义:
class Point
{
int x_,y_;
public:
Point():x_(0),y_(0){}
Point(int x,hat y=0):x_(x),y_(y){}
};
若执行语句
Point a(2),b{3},*c[4];
则Point类的构造函数被调用的次数是(    )。

选项 A、2次
B、3次
C、4次
D、5次

答案C

解析 此题考查的是类的构造函数。构造函数在对象创建的时候由系统自动调用。在Point a(2),b[3],*c[4]语句中:a(2)是定义一个对象并传入构造函数2,所以此时会调用以此构造函数;b[3]是定义一个包含3个对象的数组,所以构造函数会被调用3次:*c[4]定义的是4个Point类对象指针的数组,它并没有创建任何Point对象,所以不调用构造函数。
转载请注明原文地址:https://jikaoti.com/ti/AuE0FFFM
0

最新回复(0)