构造一个圆类Circle属性为半径radius圆周长和面积,实现根本输入的半径计算周长和面积并输出。要求定义以半径为参数,缺省值为零的构造函数,且周长和面积的计算在构造函数中实现
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
#include <stdexcept>
class Circle
{
public:
Circle(double radius = 0.0) : _radius(radius), _circumference(2.0 * M_PI * _radius), _area(M_PI * _radius * _radius)
{
if (radius < 0.0)
throw std::invalid_argument("invalid radius");
}
double radius() const { return _radius; }
double circumference() const { return _circumference; }
double area() const { return _area; }
private:
double _radius;
double _circumference;
double _area;
};
int main()
{
try
{
double radius;
std::cout << "请输入半径: ";
std::cin >> radius;
Circle circle(radius);
std::cout << "周长: " << circle.circumference() << '\n';
std::cout << "面积: " << circle.area() << '\n';
}
catch (const std::exception &e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}
#include "iostream"
#include "stdio.h"
#define Pi 3.1415926
using namespace std;
class Circle
{
public:
float Area();
double c_circle();
private:
double radius;
};
double Circle::c_circle()
{
return (2 * Pi * radius);
}
float Circle::Area()
{
cout << "请输入半径:";
cin >> radius;
return Pi * radius * radius;
}
int main()
{
Circle radius;
float area = radius.Area();
float c = radius.c_circle();
cout << "面积为:" << area << endl;
cout << "周长为:" << c << endl;
}