不明白问的是什么以及如何输入?

Not understanding what is being asked and how to type them?

我无法理解这个程序问题的某些部分,想知道为什么以及如何输入程序。以下是我无法理解的部分:

第三个成员变量是一个指向double的指针,pquiz。这将用于动态分配一个数组,该数组将保存学生的测验成绩。

(我做对了吗?)

第四个成员变量是一个double,保存的是测验成绩的平均值。

class 应该有一个单参数构造函数,它接受一个 int 并将动态分配双测验成绩数组。或者 class 可以>有一个接受字符串和整数的双参数构造函数。

int是测验分数

构造函数使用 new 运算符为测验成绩数组分配内存。

如果有两个参数,则字符串为学生姓名。

class 需要常用的增变器、访问函数和析构函数。

class有一个附加函数average(),它计算pquiz指向的数组中保存的所有测验成绩的平均值。它returns双平均值。

我想打印学生姓名、学生参加的考试次数和平均分。到目前为止,这是我的程序:

#include <iostream>
#include <string>

using namespace std;

class TestScore{

private:
    string name;
    int grades;
    double *pquiz;
    double average;

public:
    TestScore();
    void setName(string);
    void setGrades(int);
    void setAverage(double);
    string getName();
    int getGrades();
    double getPquiz();
    double getAverage();
};

TestScore::TestScore()
{
name="?";
grades=0;
pquiz=0;
average=0;
}
void TestScore::setName(string name1)
{
name=name1;
getline(cin,name1);
}
void TestScore::setGrades(int grades1)
{
grades=grades1;
}
void TestScore::setAverage(double average1)
{
average=average1;
}
string TestScore::getName()
{
return name;
}
int TestScore::getGrades()
{
return grades;
}
double TestScore::getAverage()
{
return average;
}
int main()
{
TestScore exam;
TestScore *ts=&exam;
string name;
int grade;
double *pquiz;
double average;
double total=0.0;
int count;
cout<<"Enter student name: ";
exam.setName(name);

cout<<"How many quizzes are there? ";
exam.setGrades(grade);
cin>>grade;
pquiz=new double[grade];
for(count=0; count<grade; count++)
{
    cout<<"Quiz "<<(count+1)<<": ";
    cin>>pquiz[count];
}
for(count=0; count<grade; count++)
{
    total+=pquiz[count];
}
average=total/grade;
cout<<exam.getName()<<" has an average of "<<average<<endl;
delete [] pquiz;
pquiz=0;
return 0;
}

如果我没理解错,成员 grades 保存成员 pquiz 指向的数组的长度。每当设置 grades 时,pquiz 也必须反映新的变化(旧数组应该被删除,新数组应该被创建)。在构造函数中只能创建数组。在setGrades()中必须删除旧的并创建新的。

因为成员 pquiz 由 class TestScore 控制(或拥有),所以当对象 TestScore 被删除(或在我们的行话 "when it goes out scope")。这是在 class 析构函数中完成的,您应该将其添加到 class.

根据文本,应该还有一个成员函数 average(),它计算平均值并将值存储在成员 average 中。为了您的理智,该成员应该重命名。