iam*_*ind 5 c++ inheritance casting operator-overloading
我有两节课:
struct B {};
struct D {
operator B& ();
};
Run Code Online (Sandbox Code Playgroud)
当我做;
b = d; // B b; ... D d;
Run Code Online (Sandbox Code Playgroud)
结果是根据期望D::operator B&()调用的地方(演示).
如果D改为,
struct D : B {
operator B& ();
};
Run Code Online (Sandbox Code Playgroud)
然后D::operator B&()不调用(演示).难道B::B(const B&)是找到一个更好的候选人D,然后D::operator B&()?
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |