改变课堂外课程的价值

时间:2014-03-10 15:40:43

标签: c++ class

我有类Team,其属性为“Points”。 在另一个sheet.cpp中,我想用这样的函数改变这一点:

void Result(Team a, Team b)    
{
int startWerte[] = { 8, 8 };//just random start values)
 std::vector< int > punkte(startWerte, startWerte + sizeof(startWerte) / sizeof(int));
points[0]=a.getpoints();
points[1]=b.getpoints();

下面是一些计算,它以点2中存储的点的最终值结束。现在我想将它们设置为团队的要点,以便存储它们。

a.setpoints(points[0])
b.setpoints(points[1]);

它们是正确的值,但只要此函数结束,值就不会正确存储在team.points中。如果我通过让Result函数返回points2向量来执行它,让我们说int main()中的向量testvector就可以了。示例

vector<int> testvector;
testvector =Result(TeamA, TeamB) {//Same code than before follows
TeamA.setpoints(testvector[0];
TeamB.setpoints(testvector[1];

如果我重复结果函数,则每一个都存储正确。有没有办法将团队类的值存储在int main()之外?

1 个答案:

答案 0 :(得分:2)

我认为您的问题是您按价值而非参考传递Team

Result方法更改为

void Result(Team & a, Team & b)

一切都应该没问题。