-1

我正在阅读一个文件并制作我自己的类来存储在一个双端队列中。像这样

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++ 新手。

4

1 回答 1

3

您的错误在 setY() 中。它应该包含

y = m;
于 2013-02-16T19:41:29.107 回答