Помощь в класса, вычисления площади

Подскажите пожалуйста вот у меня есть программа, которая считает площадь и периметр треугольника. Что и где мне нужно написать, чтобы объявлять длины сторон уже после компилировании? Заранее спасибо. Вот код:

#include <iostream>
#include <math.h>
using namespace std;

class Triangle 
{
private:
    int a = 0, b = 0, c = 0;
public:
    int Parties(int A, int B, int C) 
    {
        a = A;
        b = B;
        c = C;
    };
    void Perimetr()
    {
        int P = a + b + c;;
        cout << "Периметр: " << P << endl;
    }
    void Square()
    {
        double p = (a + b + c) / 2; 
        double S = sqrt(p*(p - a)*(p - b)*(p - c)); 
        cout << "\nПлощадь: " << S << endl;
    }
};

int main()
{
     Triangle one;
    one.Perimetr();
    one.Square();
    return 0;
}

Ответы (2 шт):

Автор решения: Harry
cout << "Введите стороны:";

double a,b,c;

cin >> a >> и >> c;

Triangle one(a,b,c);
one.Perimetr();
one.Square();

И замените int на double у себя - иначе получите массу неверных результатов...

→ Ссылка
Автор решения: KoVadim

мой вариант, коментарии внутри кода

#include <iostream>
#include <math.h>
using namespace std;

class Triangle 
{
private:
    int a = 0, b = 0, c = 0;
public:
    // сделал void, так как функции нечего возвращать
    void Parties(int A, int B, int C) 
    {
        a = A;
        b = B;
        c = C;
    };
    void Perimetr()
    {
        int P = a + b + c;
        cout << "Периметр: " << P << endl;
    }
    void Square()
    {
        double p = (a + b + c) / 2.0;// а тут нужно именно так написать.
        // иначе, если будет треугольник 1 2 2, то периметр будет 2, а не 2.5
        // и площадь ниже будет нулевая:)
        double S = sqrt(p*(p - a)*(p - b)*(p - c)); 
        cout << "\nПлощадь: " << S << endl;
    }
};

int main()
{
    Triangle one;
    int a,b,c;
    cout << "Введите длины сторон";
    cin >> a >> b >> c;// это собственно ввод
    one.Parties(a,b,c); //установим значения объекту
    one.Perimetr();
    one.Square();
    return 0;
}

конечно, наверно лучше вместо int использовать double и чуточку переделать логику, но я сделал минимальными изменениями.

→ Ссылка