有如下类定义: class Test { int x一,y一; public: Test():a=(0),b—f0){} Test(int a,int b=0):a=(a),b=(b){) ); 若

admin2019-06-07  31

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

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

答案C

解析 定义对象x时执行一次构造函数(调用Test(int a,int b=0)),定义对象数组y时,构造函数(注意,该构造函数必须是没有任何参数的)的执行次数与数组中对象的个数相等,即需要执行3次,最后定义一个指向Test对象的指针数组,它并不会创建对象,从而也就不会去执行构造函数,故构造函数一共执行了4次。
转载请注明原文地址:https://jikaoti.com/ti/y6A0FFFM
0

最新回复(0)