C++类 函数无法输出小数

输入数 比如2.0 出来结果应该时小数的 但出来时整数 不会改了


#include <iostream>
using namespace std;
class Circle
{
public:
    Circle(double r = 0);
    Circle(Circle &c);
    ~Circle();
    void setRadius(double r);
    double getRadius();
    double circumference();
    double area();
    friend double friendc(Circle &r);
    friend double frienda(Circle &r);

private:
    double radius;
    const int PI = 3.1415;
};
Circle::Circle(double r)
{
    cout << "this is aconstructor " << endl;
}
Circle::~Circle()
{
    cout << "this is adestructor " << endl;
}
Circle::Circle(Circle &c)
{
    radius = c.radius;
    cout << "this is acopy constructor " << endl;
}
void Circle::setRadius(double r)
{
    radius = r;
}
double Circle::getRadius()
{
    return radius;
}
double Circle::circumference()
{
    return 2 * PI * radius;
}
double Circle::area()
{
    return PI * radius * radius;
}
double friendc(Circle &r)
{
    return 2 * r.PI * r.radius;
}
double frienda(Circle &r)
{
    return r.PI * r.radius * r.radius; 
}
int main(void)
{
    double r;
    cin >> r;
    Circle c1;
    c1.setRadius(r);
    cout << c1.circumference() << endl;
    cout << c1.area() << endl;
    Circle c2(c1);
    cout << friendc(c2) << endl;
    cout << frienda(c2) << endl;
    return 0;
}

const int PI = 3.1415;
????