我正在阅读一个文件并将自己的类存储在双端队列中。喜欢这个
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 ++的新手。
答案 0 :(得分:3)
您的错误在setY()中。它应该包含
y = m;