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