-1
Я читал о перегрузке оператора, и я не понимаю, что такое оператор преобразования и как он полезен. Может ли кто-нибудь объяснить пример? ???Что такое оператор преобразования в C++
Я читал о перегрузке оператора, и я не понимаю, что такое оператор преобразования и как он полезен. Может ли кто-нибудь объяснить пример? ???Что такое оператор преобразования в C++
Операторы преобразования помогают программисту преобразовать один конкретный тип в другой конкретный тип или импотенцию примитивного типа. Ниже приведен пример, взятый из http://www.geeksforgeeks.org/advanced-c-conversion-operators/
примере:
#include <iostream>
#include <cmath>
using namespace std;
class Complex
{
private:
double real;
double imag;
public:
// Default constructor
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i)
{}
// magnitude : usual function style
double mag()
{
return getMag();
}
// magnitude : conversion operator
operator double()
{
return getMag();
}
private:
// class helper to get magnitude
double getMag()
{
return sqrt(real * real + imag * imag);
}
};
int main()
{
// a Complex object
Complex com(3.0, 4.0);
// print magnitude
cout << com.mag() << endl;
// same can be done like this
cout << com << endl;
}
Вы имеете в виду способ обеспечения путь преобразования между одним типом и другим? – tadman
http://en.cppreference.com/w/cpp/language/cast_operator –