问题描述
我遇到了这个问题:
#include <iostream>
class A{
protected:
int a = 0;
};
class B : public virtual A{
};
class C : public virtual A{
};
class D : public B,public C{
friend std::istream& operator >>(std::istream& in,D & d);
};
std::istream& operator >>(std::istream& in,D & d){
in >> d.B::a;
in >> d.C::a;
std::cout<<d.B::a<<std::endl;
std::cout<<d.C::a<<std::endl;
return in;
}
int main()
{
D d;
std::cin>>d;
}
示例输入:
10 21
输出:
21 21
预期输出:
10 21
有人可以帮忙吗?我猜这与动态/静态转换有关,但我对这些不太了解。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)