[英]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.