使用C++中的Point类创建一个计算圆的面积的类

-2 c++ visual-c++

我正在尝试创建一个Circle计算圆的面积的类.它使用一个基本的Point类来初始化2个点,一个作为中心点,作为圆上的一个点(也就是半径),这些是我得到的错误:

(25) error C2533: 'Circle::{ctor}' : constructors not allowed a return type
(25) error C2511: 'Circle::Circle(Point &,Point &)' : overloaded member function not found in 'Circle'
(12) : see declaration of 'Circle'
(46): fatal error C1004: unexpected end-of-file found
Run Code Online (Sandbox Code Playgroud)

也许我一直在盯着,如果太长时间,但任何帮助将不胜感激.

#include <iostream>
#include <cmath>
#include "Point.h"

class Circle
{
   public:
  Circle(const Point &, const Point &);
  float getArea() const;

   private:
  Point pCenter;
  Point p1;
  float areaOfCircle;
}

Circle::Circle(Point &pointC, Point &point1)
: pCenter(pointC), p1(point1)
{

}

float Circle::getArea() const
{
areaOfCircle = 3.14159 * pow(pCenter.distanceTo(p1),2);
return areaOfCircle;
}

int main()
{
Point pointCenter

cout << "The center point is at: " //pointCenter.getX() << ","  
    << pointCenter.getY() << endl;
cout << "A point on the circle is at: " //pointRadius.getX() << "," 
    << pointRadius.getY() << endl;

    cin.ignore(2);
}
Run Code Online (Sandbox Code Playgroud)

kam*_*gin 6

此代码存在许多问题:

  • 在类声明后你缺少一个分号.
  • 在pointCenter声明后缺少分号.
  • 缺少pointRadius声明
  • 缺少"使用命名空间std"
  • 构造函数的两个不同的函数接口(有和没有const)
  • areaOfCircle不能在const函数中修改

修复上述问题将使代码编译(但之后还有更多要解决的问题).