首页 > 解决方案 > 创建多个对象并通过构造函数传递参数

问题描述

我试图了解如何创建多个对象(在当前情况下为 20 个)并将参数传递给构造函数,如代码注释中所示。不幸的是,我不能同时传递参数和对象数组。

我也试过这个来创建对象对流器 con(100,200,construct(20)); 但它似乎没有给出预期的结果

#include <iostream>

class construct { 
public: 
    int a, b; 

    // Default Constructor 
    construct(int x1,int x2) 
    { 
         a = x1; 
         b = x2; 
    } 
    int getX1(){
        return a;
    }
    int getX2(){
        return b;
    }
};  
int main(){
    int p,q;
    construct* con = new construct[20](100,200);

for (unsigned int i = 0; i < 20; i++) {
    p=con[i]->getX1();
        q=con[i]->getX2();
        printf("%d %d \n",p,q);
    }
    delete con;
    return 1;
}

预期结果将是创建 20 个对象。

标签: c++

解决方案


只需使用std::vector. 说真的,没有理由不这样做。

std::vector<construct> con(20, {100, 200});

推荐阅读