关于类中出现operator使用的疑惑

来源:互联网  时间:2016/9/1 20:14:56

关于网友提出的“ 关于类中出现operator使用的疑惑”问题疑问,本网通过在网上对“ 关于类中出现operator使用的疑惑”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 关于类中出现operator使用的疑惑
描述:

遇到问题,有两个类,class A和class B。class A中有如下代码:
class A
{    
    public:
        operator B&() const;
        ...
}
B类中定义了一个函数GetOrientation()。我使用A * p = new A(); p->GetOrientation(),编译报错说GetOrientation()不是class A的成员函数?这里对operator的不熟悉,请熟悉的大神指点下这里正确的操作是什么样的?


解决方案1:

->是优先级最高的几个之一,会在类型转换前运算
而且你这里是指针,就算类型间可以转换,指针间也是不能直接转换的,就如int*不能转换成long*一样
((B&)(*p)).GetOrientation()

上一篇error C2061: syntax error : identifier 'fstream'
下一篇Win7 x64 删除文件调用什么api
明星图片
相关文章
《 关于类中出现operator使用的疑惑》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)