C ++ deque在读取数据和存储为类时。初始化时出错

时间:2013-02-16 19:38:44

标签: c++ class file-io deque

我正在阅读一个文件并将自己的类存储在双端队列中。喜欢这个

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

1 个答案:

答案 0 :(得分:3)

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

y = m;