繁体   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