Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här genomgången ändrar du programmet för att åtgärda problemet som du hittade när du testade projektet.
Förutsättningar
Den här genomgången förutsätter att du förstår grunderna i C++-språket.
Det förutsätter också att du har slutfört de tidigare relaterade genomgångarna som visas i Använda Visual Studio IDE för C++ Desktop Development.
Så här åtgärdar du ett program som har en bugg
Om du vill se vad som händer när ett
Cardgameobjekt förstörs kan du visa destructor förCardgameklassen.På menyraden väljer du Visa>klassvy.
I fönstret Klassvy expanderar du projektträdet Spel och väljer klassen Cardgame för att visa klassmedlemmar och metoder.
Öppna snabbmenyn för destruktorn ~Cardgame(void) och välj sedan Gå till definition.
Om du vill minska
totalParticipantsnär ett Cardgame slutar, lägg till följande kod mellan den inledande och avslutande klammerparentesen i destruktornCardgame::~Cardgame.totalParticipants -= players; cout << players << " players have finished their game. There are now " << totalParticipants << " players in total." << endl;Filen Cardgame.cpp bör likna koden nedan när du har ändrat den:
#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; }På menyraden väljer du Skapa>bygglösning.
När bygget är klart kör du det i felsökningsläge genom att välja Felsöka>Starta felsökning på menyraden eller genom att välja F5-nyckeln . Programmet pausar vid den första brytpunkten.
Om du vill gå igenom programmet går du till menyraden, väljer Felsöka>Steg över eller väljer F10-nyckeln .
Observera att när varje
Cardgamekonstruktor körs ökar värdet förtotalParticipants. När funktionenPlayGamesreturnerar, och varjeCardgameinstans hamnar utanför omfånget och tas bort (och destruktorn anropas), minskartotalParticipants. Precis innan -instruktionenreturnkörs ärtotalParticipantslika med 0.Fortsätt att gå igenom programmet tills det avslutas eller låt det köras genom att välja Felsöka>Kör på menyraden eller genom att välja F5-nyckeln .
Nästa steg
Föregående:Genomgång: Testa ett projekt (C++)
Nästa:Genomgång: Distribuera ditt program (C++)