演练:调试项目 (C++)
在本演练中,你将修改程序以修复在测试项目时发现的问题。
先决条件
本演练假定你具备 C++ 语言的基础知识。
它还假定你已完成之前在使用 Visual Studio IDE 进行 C++ 桌面开发中列出的相关演练。
修复含有 bug 的程序
若要查看销毁
Cardgame
对象时发生的情况,请查看Cardgame
类的析构函数。在菜单栏上,选择“视图”>“类视图”。
在“类视图”窗口中,展开“游戏”项目树并选择“Cardgame”类来显示类成员和方法 。
打开“~Cardgame(void)”析构函数的快捷菜单,然后选择“转到定义” 。
若要在 Cardgame 终止时减少
totalParticipants
,请在Cardgame::~Cardgame
析构函数的左大括号和右大括号之间键入以下代码。totalParticipants -= players; cout << players << " players have finished their game. There are now " << totalParticipants << " players in total." << endl;
在对 Cardgame.cpp 文件进行更改之后,该文件应类似于以下代码:
#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; }
在菜单栏上,依次选择“生成”>“生成解决方案” 。
生成完成后,可以通过选择菜单栏上的“调试”>“启动调试”或选择 F5 键在调试模式下运行此解决方案。 程序在第一个断点处暂停程序。
若要逐步执行此程序,请在菜单栏上,选择“调试”>“逐过程执行”或选择 F10 键。
请注意,执行每个
Cardgame
构造函数后,totalParticipants
的值会增大。 在PlayGames
函数返回时,由于每个Cardgame
实例都超出范围且被删除(并且调用析构函数),因此totalParticipants
会减小。 在刚要执行return
语句前,totalParticipants
等于 0。继续逐步执行此程序直到其退出,或通过在菜单栏上选择“调试”>“运行”或选择 F5 键来使其运行。
后续步骤
上一篇:演练:测试项目 (C++)
下一篇:演练:部署程序 (C++)