0

我有两个 c++ 类,一个继承了学生数据库的抽象基类。基类是包含所有学生信息(姓名、课程 ID 向量和分数)的记录:

class student{
protected:
    string fName,sName;
    int id;
    vector<string> cname;
    vector<double> cmark;
public:
    virtual ~student();
    virtual void addClass(string name, double mark)=0;
};

我需要能够addCourse在下面的类的函数中访问向量 cname 和 cmark

class degree : public student{
public:
    degree(string f, string s, int i){
        this->setName(f,s); 
        this->setID(i);
    }
    ~degree();

    void AddCourse(string name, int mark){

    }

如果不在基类中创建函数,我不知道如何做到这一点,set就像我对构造函数所做的那样degree

我可以在基类中创建一个 set 函数,但我宁愿使用一些方法来初始化继承的元素而不使用函数,只是为了让代码不那么混乱,这可能吗?我考虑过使用this->cname,但这给了我错误。

4

1 回答 1

0

我需要能够在下面的类的 addCourse 函数中访问向量 cname 和 cmark

只需访问它们,它们是受保护的,因此派生类可以访问:

void AddCourse(string name, int mark){
  cname.push_back(name);
  cmark.push_back(mark);
}
于 2013-05-05T13:43:44.500 回答