[英]How to inherited variable content from base class?
User 類作為基類,Student 類作為 User 的派生類。
class User{
protected:
string name;
string id;
public:
...set and get function..
virtual void Serialize(ofstream& fstream){
fstream << id << "," << name << ",\n";
}
}
class Student :public User{
private:
string school;
public:
...set and get function...
virtual void Serialize(ofstream& fstream){
fstream << id << "," << name << "," << school << ",\n";
}
}
這里是主要的類。
void save(Save& i_save){
ofstream outfile;
outfile.open("save.csv", ios::app);
i_save.Serialize(outfile);
}
int main() {
User current_user;
User current_student;
string in_name;
string in_id;
string in_school;
cin >> in_name;
current_user.setName(in_name);
cin >> in_id;
current_user.setID(in_id);
cin >> in_school;
current_student.setSchool(in_school);
save(current_student);
return 0;
}
示例輸入:SAM <- 姓名、S02 <- id 和 Rock <- 學校。
我想將所有這些輸入保存在 CSV 文件中,但是當我運行時,它只保存沒有名稱和 ID 的學校內容。
如何解決這個問題呢? 謝謝。
在主函數中:
Student current_student;
User* current_user = ¤t_student;
使用current_user
調用所有函數。 基於上面的代碼,我只能建議這個。
目前,您正在使用在堆棧上創建的兩個不同對象並保存 Student 對象數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.