Sdílet prostřednictvím


Návod: Ladění projektu (C++)

V tomto názorném postupu upravíte program tak, aby opravili problém, který jste zjistili při testování projektu.

Požadavky

Oprava programu s chybou

  1. Chcete-li zjistit, co se stane, když je objekt Cardgame zničen, zobrazte destruktor třídy Cardgame.

    Na řádku nabídek zvolte Zobrazit>zobrazení třídy.

    V okně Zobrazení tříd rozbalte strom herního projektu a vyberte třídu Cardgame pro zobrazení členů a metod třídy.

    Otevřete místní nabídku destruktoru ~Cardgame(void) a pak zvolte Přejít na definici.

  2. Pokud chcete snížit dobu totalParticipants ukončení Cardgame, přidejte následující kód mezi levou a pravou složenou závorku destruktoru Cardgame::~Cardgame .

    totalParticipants -= players;
    cout << players << " players have finished their game.  There are now "
         << totalParticipants << " players in total." << endl;
    
  3. Soubor Cardgame.cpp by měl po změně vypadat podobně jako následující kód:

    #include "Cardgame.h"
    #include <iostream>
    
    using namespace std;
    
    int Cardgame::totalParticipants = 0;
    
    Cardgame::Cardgame(int players)
        : players(players)
    {
        totalParticipants += players;
        cout << players << " players have started a new game.  There are now "
             << totalParticipants << " players in total." << endl;
    }
    
    Cardgame::~Cardgame()
    {
        totalParticipants -= players;
        cout << players << " players have finished their game.  There are now "
             << totalParticipants << " players in total." << endl;
    }
    
  4. Na řádku nabídek zvolte Sestavit>řešení.

  5. Po dokončení sestavení ho spusťte v režimu ladění tak, že na řádku nabídek zvolíte >Spustit ladění nebo zvolíte klávesu F5. Program se pozastaví na první zarážce.

  6. Pokud chcete program procházet, na řádku nabídek zvolte Krok pro ladění>nebo zvolte klávesu F10.

    Všimněte si, že po spuštění každého Cardgame konstruktoru se hodnota zvětší totalParticipants . PlayGames Když funkce vrátí hodnotu, protože každá Cardgame instance přejde mimo rozsah a odstraní se (a volá se destruktor), totalParticipants sníží se. Těsně před provedením return totalParticipants příkazu se rovná 0.

  7. Pokračujte v procházení programu, dokud se nespustí, nebo ho nechte spustit tak, že na řádku nabídek zvolíte Spustit ladění> nebo zvolíte klávesu F5.

Další kroky

Předchozí: Návod: Testování projektu (C++)
Další: Návod: Nasazení programu (C++)

Viz také

Referenční dokumentace jazyka C++
Projekty a systémy sestavení