C ++ - 多类和私有数据成员

时间:2015-05-06 16:38:06

标签: c++ class constructor

我为我的大学做了一个用c ++编写的工作,我的代码基于2个类, NumSetGame。 数据成员是私人的。

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();
    }
}

我真的想解释一下这里的错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

这里似乎没有任何错误..只需确保 - 1)分数初始化为0 2)没有做任何错误的任务或增量