[英]Inherited elements C++
我有两个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){
}
我不知道如何在不像我使用degree
构造函数那样在基类中set
函数的情况下执行此操作。
我可以在基类中创建一个set函数,但是我更希望一些不使用函数来初始化继承的元素的方法,只是为了使代码少一点混乱,这可能吗? 我考虑过使用this->cname
但这给了我错误。
我需要能够在下面的类的addCourse函数中访问向量cname和cmark
只需访问它们,它们就受到保护,因此派生类可以访问:
void AddCourse(string name, int mark){
cname.push_back(name);
cmark.push_back(mark);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.