C++;如何从函数返回对象数组 最近我开始学习C++,所以我尝试用我的基础知识制作一个简单的等级计算器(我已经很好的使用JavaScript了,所以我知道了编程的基本知识)。

C++;如何从函数返回对象数组 最近我开始学习C++,所以我尝试用我的基础知识制作一个简单的等级计算器(我已经很好的使用JavaScript了,所以我知道了编程的基本知识)。,c++,arrays,function,oop,object,C++,Arrays,Function,Oop,Object,因此,在本例中,我必须从函数调用返回一个对象数组,以便稍后在程序中使用它,但我找不到正确的方法 因此,基本上我想从getInput函数返回subar,但由于我对该语言的基本知识,我不能这样做。我试着用谷歌搜索,但没有找到任何简单的解决办法 下面是代码,希望很简单: //主题类: 班级科目{ 公众: 字符串名; 浮子等级; 智力因素; 主题(){}; 主题(字符串x,浮点y,整数z){ name=x; 等级=y; 系数=z; } }; //获取输入函数声明 主题getInput(int num){

因此,在本例中,我必须从函数调用返回一个对象数组,以便稍后在程序中使用它,但我找不到正确的方法

因此,基本上我想从
getInput
函数返回
subar
,但由于我对该语言的基本知识,我不能这样做。我试着用谷歌搜索,但没有找到任何简单的解决办法

下面是代码,希望很简单:

//主题类:
班级科目{
公众:
字符串名;
浮子等级;
智力因素;
主题(){};
主题(字符串x,浮点y,整数z){
name=x;
等级=y;
系数=z;
}
};
//获取输入函数声明
主题getInput(int num){
//类型为“Subject”的对象数组
受试者分位数[num];
//用于分配数组元素的for循环
for(int i=0;i不能使用
std::vector

#include <iostream>
#include <vector>

using namespace std;

// the Subject class
class Subject {
    public:
        string name;
        float grade;
        int factor;
        
        Subject(){};
        
        Subject(string x, float y, int z){
            name = x;
            grade = y;
            factor = z;
        }
};

// get Input function declaration
vector<Subject> getInput(int num){
    
    // array of objects of type "Subject"
    vector<Subject> subArr;
    
    // a for loop to assign the array's elements
    for(int i = 0; i < num; i++){
        string name;
        float grade;
        int factor;
        
        cout << "what is the name of subject " << i+1 <<"? "<<endl;
        cin >> name;
        
        cout << "what is the grade of subject " << i+1 << "? "<<endl;
        cin >> grade;
        
        cout << "what is the factor of subject " << i+1 << "? "<<endl;
        cin >> factor;
        
        subArr.push_back(Subject(name, grade, factor));
    };
    
    // trying to return the subArr at last
    return subArr;
};

// main function
int main(){
    // get the number of subjects
    int numOfSubjects;
    cout << "how many subjects are there? ";
    cin >> numOfSubjects;
    
    // trying to receive the subArr from getInput call
    vector<Subject> subArr = getInput(numOfSubjects);
};
#包括
#包括
使用名称空间std;
//学科课
班级科目{
公众:
字符串名;
浮子等级;
智力因素;
主题(){};
主题(字符串x,浮点y,整数z){
name=x;
等级=y;
系数=z;
}
};
//获取输入函数声明
向量getInput(int num){
//类型为“Subject”的对象数组
矢量子雷达;
//用于分配数组元素的for循环
for(int i=0;i不能使用
std::vector
主题子数组[num]“<代码> Num < /C++ >是运行时的值。只需使用<代码> STD::vector 。@我需要C<代码> Num < /Cord>初始化数组大小,也可以给我一个使用STD::vector的代码示例:我是新手,感谢网络上的成千上万。是从一个坚实的文档站点,你应该签书签。@dineMakdour——应该在
Subject
默认构造函数中初始化成员变量。
Subject s;std::cout