Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku zmodyfikujesz program, aby rozwiązać problem znaleziony podczas testowania projektu.
Wymagania wstępne
W tym przewodniku założono, że rozumiesz podstawy języka C++.
Przyjęto również założenie, że zostały wykonane wcześniejsze powiązane przewodniki wymienione w temacie Using the Visual Studio IDE for C++ Desktop Development (Korzystanie ze środowiska IDE programu Visual Studio dla języka C++).
Aby naprawić program, który zawiera usterkę
Aby zobaczyć, co ma miejsce w przypadku
Cardgamezniszczenia obiektu, wyświetl destruktor klasyCardgame.Na pasku menu wybierz pozycję Wyświetl>widok klasy.
W oknie Widok klasy rozwiń drzewo projektu Game i wybierz klasę Cardgame, aby wyświetlić składowe i metody klasy.
Otwórz menu skrótów dla destruktora ~Cardgame(void), a następnie wybierz pozycję Przejdź do definicji.
Aby zmniejszyć
totalParticipantsczas zakończenia gry Cardgame, dodaj następujący kod między nawiasamiCardgame::~Cardgameklamrowymi otwierającą i zamykającą destruktora.totalParticipants -= players; cout << players << " players have finished their game. There are now " << totalParticipants << " players in total." << endl;Plik Cardgame.cpp powinien przypominać poniższy kod po jego zmianie:
#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; }Na pasku menu wybierz pozycję Kompiluj rozwiązanie kompilacji>.
Po zakończeniu kompilacji uruchom ją w trybie debugowania, wybierając pozycję Debuguj>Rozpocznij debugowanie na pasku menu lub wybierając F5. Program wstrzymuje się w pierwszym punkcie przerwania.
Aby przejść przez program, na pasku menu wybierz pozycję Debuguj>krok po kroku lub wybierz F10.
Zwróć uwagę, że po wykonaniu każdego
CardgamekonstruktoratotalParticipantswartość zwiększa się.PlayGamesGdy funkcja zwraca wartość , ponieważ każdeCardgamewystąpienie wykracza poza zakres i jest usuwane (a destruktor jest wywoływany),totalParticipantszmniejsza się. Tuż przed wykonaniemreturninstrukcjitotalParticipantsrówna się 0.Kontynuuj przechodzenie przez program do momentu zakończenia działania lub pozwól mu uruchomić, wybierając pozycję Debuguj>uruchom na pasku menu lub wybierając F5 .
Następne kroki
Poprzedni:Przewodnik: testowanie projektu (C++)
Dalej:Przewodnik: wdrażanie programu (C++)