关于网友提出的“ 关于类中出现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()