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 kontextovou nabídku destruktoru ~Cardgame(void) a pak zvolte Přejít na definici.

  2. Pro snížení totalParticipants při ukončení Cardgame přidejte následující kód mezi začátek a konec složené závorky 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>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. Chcete-li program procházet, na řádku nabídek zvolte Ladění>Krokovat, nebo stiskněte klávesu F10.

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

  7. Pokračujte v procházení programu, dokud se neukončí, nebo ho nechte běžet výběrem Debug>Run na řádku nabídek, nebo volbou klávesy 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 buildovací systémy