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;
}