Не работает программа ищущая расстояние между двумя точками
Начал изучение основ ООП в с++, не понимаю почему компилятор выдает ошибку "функция-член уже определена или объявлена". Задание заключается в том, чтобы определить расстояние между двумя точками
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double m_a;
double m_b;
public:
Point(double a = 0.0, double b = 0.0)
: m_a(a), m_b(b)
{
}
Point(double a, double b) {
m_a = a;
m_b = b;
}
void print() const {
cout << m_a << " " << m_b << endl;
}
double distanceTo(const Point & other) const {
return sqrt((m_a - other.m_a) * (m_a - other.m_a) + (m_b - other.m_b) * (m_b - other.m_b));
}
};
int main() {
Point first;
Point second(2.0, 5.0);
first.print();
second.print();
cout << "Distance between two points: " << first.distanceTo(second) << endl;
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Чем отличаются эти два конструктора?
Point(double a = 0.0, double b = 0.0)
: m_a(a), m_b(b)
{
}
Point(double a, double b) {
m_a = a;
m_b = b;
}
Они оба имеют сигнатуру Point(double,double) - как компилятору их отличить?...