所以我有一个基类Members
,它有一个继承自它的类,Admin
。在Members
课程中,我有2个字符:username
和password
。在Admin
我还有2个人,city
和job
。
使用istream时出现问题。对于Members
课程,我对username
和password
感兴趣。对于Admin
类,我使用了包含in>>(Members)a;
的istream(以获取Members
类的istream。当我在main函数中访问它时,我将介绍username
以及新password
的{{1}},但它会调用Admin
Class中的默认构造函数。
我应该用什么来获取我介绍的Members
和username
而不是默认的?
成员超载
管理员超载
谢谢
答案 0 :(得分:1)
引入两个新的虚拟成员函数void Members::readVars(istream&)
和void Admin::readVars(istream&)
。第二个叫第一个。
然后,您只定义一个调用istream& operator >> (istream&, Members&)
的运算符readVars(istream&)
。