Есть задание разработать класс Triangle и в нем перегрузить оператор =, который возвращал бы площадь этого треугольника. Вопрос в том, как это сделать? То есть как оператором = вернуть тип double, если это метод класса треугольник.
Необходимо перегрузить оператор приведения к типу double, к примеру вот так:
#include <iostream>
class Triangle
{
public:
Triangle () {}
operator double() const
{
return 1.0;
}
};
int main(int argc, char *argv[])
{
Triangle tr;
double res = tr;
std::cout << "Square:" << res << std::endl;
return 0;
}
Но я бы не стал так делать, это очень не очевидное действие, на мой взгляд, лучше определить просто функцию square и пользоваться её.
#include <iostream>
class Triangle
{
public:
Triangle () {}
double square() const
{
return 1.0;
}
};
int main(int argc, char *argv[])
{
Triangle tr;
std::cout << "Square:" << tr.square() << std::endl;
return 0;
}
Продвижение своими сайтами как стратегия роста и независимости