簡體   English   中英

如何從基類繼承變量內容?

[英]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 = &current_student;

使用current_user調用所有函數。 基於上面的代碼,我只能建議這個。

目前,您正在使用在堆棧上創建的兩個不同對象並保存 Student 對象數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM