【发布时间】:2016-06-28 15:02:32
【问题描述】:
好的,我有这个标题
using namespace std;
class students
{
private:
struct record {
int RUID;
string first_name;
string last_name;
vector<double>quiz_grades;
array<double, 3>exam_grades;
};
vector<record>student_records;
public:
friend void change_name();
void setRUID (int idnt);
void setFirstName (string first);
void setLastName (string last);
void setQuiz (vector<double> quiz);
void setExam (array<double, 3> exam);
};
我必须将类的所有函数写在一个单独的cpp文件中。
我尝试了以下方法:
#include <iostream>
#include "students.h"
using namespace std;
void students::setRUID (int idnt)
{
RUID = idnt;
}
但是我如何访问班级学生内部的结构?
如果我尝试这个void students::record::setRUID (int idnt) 它不起作用,因为记录中没有 setRUID 声明。
问题 2。 我必须为每个学生的测验和考试设置 3 个随机分数。我知道该怎么做,但我声明的功能正确吗?
问题 3。 我在哪里声明向量的大小? 虽然这里有一些错误,但这会起作用吗?
void students::setQuiz(vector<double> quiz)
{
int size = 3;
quiz_grades.resize(size);
quiz.resize(size);
srand(0);
for ( int i = 0; i < size; i++ )
{
quiz[i] = rand()%100 + 0;
}
for ( int i = 0; i < size; i++ )
{
quiz_grades[i] = quiz[i];
}
}
或者我是否使用 main 为每个学生插入随机成绩?
基本上这是要求
"为类的定义写一个头文件,为类的功能写一个cpp文件,还有一个main.cpp文件。"
我是这个主题的新手,任何帮助将不胜感激。谢谢
【问题讨论】:
-
如果你的班级被称为“学生”并且它管理着大量的学生,谁会被
setFirstName变异?也许你想从一个让一个学生重新认识的班级开始。我建议你称它为“学生”。当你确定它的界面时,而不是更早,开始做一些东西,把许多学生的信息放在一起(如果你仍然需要的话)。
标签: c++ class interface implementation