visual使用C++中的Point类创建一个类来计算圆的面积
visual Creating a class to calculate area of a circle using Point class in C++
我正在尝试创建一个计算圆面积的类Circle
。它使用一个初始化2个点的基本Point类,一个作为圆心,一个为圆上的点(又称半径),这些都是我得到的错误:
(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
也许我已经盯着if看了太久了,但如果有任何帮助,我将不胜感激。
#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);
}
此代码存在许多问题:
- 类声明后缺少分号
- pointCenter声明后缺少分号
- 缺少pointRadius声明
- 缺少"using namespace std"
- 构造函数的两个不同函数接口(带const和不带const)
- 不能在const函数中修改areaOfCircle
解决以上问题将使代码能够编译(但之后还有更多问题需要解决)。
您声明您的构造函数接受
class Circle {
...
Circle(Point const&, Point const&);
...
};
但您将其定义为采用非const
引用:
Circle::Circle(Point&, Point&) {
...
}
这行不通。
顺便说一句,如果你想计算一个值的平方,那么使用x * x
比使用std::exp(x, 2)
要好得多!后一个功能相当复杂,而且通常没有那么快。
相关文章:
- 不计算一个范围内的完美数
- 计算一个单词在映射中出现的次数 - 使用 transform() - 调用不匹配
- C++在不使用pow或循环的情况下计算一个数字的幂
- 使用递归计算一个函数中的高度和大小
- 使用 c++ 特征库中的特征向量() 只计算一个特征向量
- 我如何计算一个单词在数组中重复的次数
- 计算一个字符串的每个字符在另一个字符串中的出现次数
- 如何计算一个数字在数组中出现的次数
- 如何计算一个数字到另一个数字中的数量
- 计算一个字符在数组中出现的次数
- 计算一个班级的人数
- qt多线程:计算一个积分
- 使用C++计算一个非常大的幂
- 计算一个数字的大幂
- 有没有一个函数可以计算一个向量中所有的正数
- 如何用3个用户定义的函数计算一个数字的真平方根
- 计算一个表达式来计算循环
- 并行计算一个大矢量的和
- 计算一个数字的质因数
- 计算一个*一个没有溢出的模数n