Ian*_*ney 1 c++ type-conversion
我很难定义和使用转换运算符到基类。考虑以下:
class base
{
public:
base(const base&);
base& operator=(const base&);
//some stuff
};
class child : public base
{
public:
operator base() const;
//some more stuff
};
int main()
{
child c;
base b=c;
b=c;
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试将子项转换为基数,operator base()则永远不会调用(即使我使转换显式)。相反,直接调用来自基类的复制构造函数或赋值运算符,无需转换。
operator base()当 achild被分配(或复制构造)到 a时,我怎样才能被调用base?
| 归档时间: |
|
| 查看次数: |
2066 次 |
| 最近记录: |