【发布时间】:2011-10-14 03:11:02
【问题描述】:
我有两个班级:
struct B {};
struct D {
operator B& ();
};
当我这样做的时候;
b = d; // B b; ... D d;
结果与调用 D::operator B&() (Demo) 的预期一致。
如果D改为,
struct D : B {
operator B& ();
};
然后D::operator B&() 不会被调用 (Demo)。 B::B(const B&) 是在 D 然后 D::operator B&() 找到更好的候选人吗?
【问题讨论】:
标签: c++ inheritance casting operator-overloading