【发布时间】:2019-11-09 04:08:08
【问题描述】:
在 C++ 中,我试图创建一个包含两个双精度值的类 Point2D。所有数据成员和函数都应该是公开的。
对于公共成员应该有
- 双倍
- 双倍
对于构造函数
默认构造函数应将 x 和 y 初始化为 0.0
-
Point2D(双 in_x, 双 in_y)
- 将 x 和 y 设置为 in_x 和 in_y
对于非成员函数
-
void GetResult(Point2D p1, Point2D p2)
- 同时打印 x 和 y 值
这是我目前的代码,有人可以指出我的错误吗?
Point2D.h
#ifndef POINT2D_H
#define POINT2D_H
class Point2D
{
public:
double x;
double y;
Point2D();
Point2D(double,double);
};
void GetResult(Point2D, Point2D);
#endif
Point2D.cpp
#include "Point2D.h"
#include <iostream>
using namespace std;
Point2D::Point2D()
{
x = 0.0;
y = 0.0;
}
Point2D::P1(double in_x, double in_y)
{
x = in_x;
y = in_y;
}
Point2D::P2(double in_x, double in_y)
{
x = in_x;
y = in_y;
}
void GetResult(Point2D P1, Point2D P2)
{
cout << P1.x << " " << P1.y << endl;
cout << P2.x << " " << P2.y << endl;
}
TestCheckPoint1.cpp
#include <iostream>
#include "Point2D.h"
using namespace std;
int main()
{
Point2D Point1;
Point1.x = 1.0;
Point1.y= 2.0;
Point2D Point2;
Point2.x= 1.0;
Point1.y= 2.0;
GetResult(Point1, Point2);
}
【问题讨论】:
-
问题是什么? ...如果您编译了代码并出现错误,那么错误消息是什么? (将它们附加到问题中,而不是在评论中)
-
不确定 P1 和 P2 函数是什么,它们看起来像是缺少构造函数的两个命名错误的副本。您可以考虑避免使用
using namespace std;