欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

讲解15:C++中的类型转换技巧(类型转换函数与explicit) - 从一类转换到另一类,反之亦然 - 配套详尽实例代码

最编程 2024-07-26 22:30:36
...
//测试类型转换
#include

class Franction{
public:
//使用explicit后,不能进行隐士转换
//explicit Franction(int num, int den = 1):m_numerator(num),m_denominator(den){}
Franction(int num, int den = 1):m_numerator(num),m_denominator(den){}
//操作符号函数
Franction operator +(const Franction& f){ return Franction(this->m_numerator + f.m_numerator,this->m_denominator + f.m_denominator);}
//类型转换函数
operator double(){ return static_cast<double >(m_denominator/m_denominator);}
private:
int m_numerator;
int m_denominator;
};

int main(){
Franction f(3,5);
Franction d2 = f + 4;//error: use of overloaded operator '+' is ambiguous
//double d2 = 4 + f;
return 0;
}