c++ - 类外改变类的值

标签 c++ class

我有一个属性为“Points”的 Team 类。 在另一个 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();

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

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

它们是正确的值,但每当此函数结束时,这些值都不会正确存储在 team.points 中。如果我通过让 Result 函数返回 points2 vector 来让 int main() 中的 vector testvector 做到这一点,它就可以工作。例子

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

如果我重复结果函数,则一切都正确存储。有没有办法在int main()之外存储team类的积分值?

最佳答案

我认为您的问题是您是按值而不是按引用传递 Team

Result 方法更改为

void Result(Team & a, Team & b)

一切都会好起来的。

关于c++ - 类外改变类的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22304638/

相关文章:

c++ - 以第二种形式使用 QMediaPlayer

c++ - 基数桶搜索

c++ - 如何快速清除SFML-Image? C++

c++ - 变量已在 .obj 中定义,但没有循环包含

python - 为什么使用 __slots__ 会减慢这段代码的速度?

c++ - Boost MPL排序模板参数包

c++ - Qt : Accessing Secure Objects using session-id from a server

html - 在 css 中定义类的正确方法

Python:如何 "kill"类实例/对象?

java - 我如何制作一个 "dice"每次使用它时随机生成一个数字 1-6?