【发布时间】:2021-07-31 08:27:37
【问题描述】:
我被 C++ 困住了。我是新手,我很困惑。 totalGrade 给出学生获得的 5 个成绩的总和。但我无法计算这个总成绩。我无法访问函数中数组中的值。如何访问数组中的值
#include<iostream>
using namespace std;
class Student {
public:
void takeNotes(){
int nA1[5];
for (int i = 0; i < 5; i++){
cin>>nA1[i];
}
}
int totalGrade(){
int totalN=0;
for(int x=0;x<5;x++){
// I stayed at this stage
}
}
}
;
int main(int argc, char const *argv[]) {
int n;
std::cin >> n;
Student * students = new Student[n];
for (int i = 0; i < n; i++)
{
students[i].takeNotes();
}
int total = students[0].totalGrade();
}
【问题讨论】:
-
nA1仅在takeNotes的上下文中定义,因此数组在takeNotes返回后停止存在。您需要将数组移动到类的作用域,以便它在Student对象的整个生命周期内都存在。