重载istream>>使用的基类的运算符

时间:2017-01-11 23:11:36

标签: c++ class oop

所以我有一个基类Members,它有一个继承自它的类,Admin。在Members课程中,我有2个字符:usernamepassword。在Admin我还有2个人,cityjob

使用istream时出现问题。对于Members课程,我对usernamepassword感兴趣。对于Admin类,我使用了包含in>>(Members)a;的istream(以获取Members类的istream。当我在main函数中访问它时,我将介绍username以及新password的{​​{1}},但它会调用Admin Class中的默认构造函数。

我应该用什么来获取我介绍的Membersusername而不是默认的?

成员超载

enter image description here

管理员超载

enter image description here

谢谢

1 个答案:

答案 0 :(得分:1)

引入两个新的虚拟成员函数void Members::readVars(istream&)void Admin::readVars(istream&)。第二个叫第一个。

然后,您只定义一个调用istream& operator >> (istream&, Members&)的运算符readVars(istream&)