我为我的大学做了一个用c ++编写的工作,我的代码基于2个类,
NumSet
和Game
。
数据成员是私人的。
class NumSet
{
int arr[5]; //Cards
int Score;
}
class Game
{
NumSet P1, P2; //Player 1 , And Player 2
int OpenCard; //For The Card in The center
}
用于从Game
内的方法向P1 \ P2添加分数
我创建了这个方法:
void NumSet::Addscore()
{
++this->Score;
}
和另一种方法:
void NumSet::PrintScore()
{
cout << this->Score << endl;
}
直到现在一切看起来都不错,但出于某种原因
当我调用方法Addscore
时:
P2.Addscore();
它将其值从0升高到2 ..
NumSet::NumSet() //C'tor
{
for (int i = 0; i < STARTCARDS; i++)
arr[i] = NULL;
this->Sort(); //BubbleSort
Score = 0;
}
void Game::ChangeCards()
{
if (x1 > x2) //Player 1 is Stronger
P1.Addscore();
else if (x2 > x1) //Player 2 is Stronger
P2.Addscore();
else //Both Cards Are Equal
{ //Checkin For The Lower Max Num
int max1 = P1.Max(); //Max returns maximum num in arr
int max2 = P2.Max();
if (max1 < max2)
P1.Addscore();
else if (max2 < max1)
P2.Addscore();
}
}
我真的想解释一下这里的错误。
谢谢!
答案 0 :(得分:0)
这里似乎没有任何错误..只需确保 - 1)分数初始化为0 2)没有做任何错误的任务或增量