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