我正在阅读一个文件并制作我自己的类来存储在一个双端队列中。像这样
class point{
public:
void setX(float n)
{
x = n;
}
void setY(float m)
{
x = m;
}
float x;
float y;
};
int main(){
ifstream file("curveData.txt");
float x;
float y;
deque<point> dqu;
point tempPt;
while(file >> x >> y){
cout << x << ' ' << y << endl;
tempPt.setX(x);
tempPt.setY(y);
cout << tempPt.x << ' ' << tempPt.y << endl;
// to check it was initialized correctly
cout<<endl;
dqu.push_back(tempPt);
}
system ("pause");
return 0;
}
在 while 循环内,第一个 cout 显示正确的值,但是在初始化 tempPt 的 x 和 y 的值之后,当我尝试显示这些值时,这些值未正确初始化。y 值存储在 TempPt.x 中,y 值是一个奇怪的数字,所有点都相同。我错过了什么。对不起,我是 C++ 新手。