请查看下面的代码,这是一个简单的主题,但我不知道。

class trial{
public:
    trial(){
        y = -1;
    }
    trial(int x){
        y = x;
    }
public:
        int y;
};


int main() {
    trial *trialPtr = new trial();     // creates a dynamic object with empty constructor
    trial *trialPtr1 = new trial(1);   // creates a dynamic object with overloaded constructor
    trial *trialPtr2 = new trial[2];   // creates two dynamic objects with empty constructor
    return 0;
}

我的问题是,如何使用重载的构造函数创建两个动态对象?

最佳答案

在C++ 98/03中,数组是有问题的,因为通常不能完全自由地初始化它们。 C++ 11通过统一初始化解决了这个问题。现在你可以说

new trial[2] { 1, 1 };

10-08 07:36