类的转换函数调用的优先级与是否用const修饰的关系
P415 C++ Primer Plus (第六版)(待解決~~知道原理的同學請留言,多謝~~)
#include <iostream>
using namespace std;
class Cp
{
private:
int a;
double b;
public:
Cp()
{
a = 1;
b = 2.2;
}
operator int() const//this指針類型是const Cp*
{
return (int(3.6));
}
operator double() const//this指針類型是const Cp*
{
return b;
}
operator double()//this指針類型是Cp*
{
return 4.4;
}
};
int main()
{
Cp p1;//this 指針為 Cp* 是non-const的
int i = int(p1);//為啥會調用operator double(),而不是operator int() const??難道是因為this的類型??
//首先是如何確定int為int類型,int轉換成double是可行的,
cout << i << endl;
system("pause");
return 0;
}
轉載于:https://www.cnblogs.com/IvanKeller/p/10843795.html
總結
以上是生活随笔為你收集整理的类的转换函数调用的优先级与是否用const修饰的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java spring cloud 版
- 下一篇: 做梦梦到亲嘴怎么回事