Conversion Function

    Objects can be type converted in C++, as shown in the following program:

#include<iostream>

class Fraction//Score
{
	public:
		Fraction (int num, int den = 1)
		: m_numerator (num), m_denominator (den) {}
		operator double() const
		{
			//return (m_numerator/(m_denominator*1.0));
			return (m_numerator/(double)m_denominator);
		}
	private:
		int m_numerator;//numerator
		int m_denominator;//denominator
};

int main(int argc, char* argv[])
{
	Fraction f(3,5);
	double d1 = 4 + f;
	
	std::cout <<"d1 = " << d1 << std::endl;
	
	Fraction f1(4);
	double d2 = 4 + f1;
	
	std::cout << "d2 = " << d2 << std::endl;
	
	return 0;
}

    In this example, use operator double() const {} to convert the Fraction object to double type (numerator divided by denominator), and the result is shown in the following figure:


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325857136&siteId=291194637