Не работает программа ищущая расстояние между двумя точками

Начал изучение основ ООП в с++, не понимаю почему компилятор выдает ошибку "функция-член уже определена или объявлена". Задание заключается в том, чтобы определить расстояние между двумя точками

#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) - как компилятору их отличить?...

→ Ссылка