2.2 项目和解决方案
在Visual Studio中,可以将你的工作组织为项目和解决方案。一个解决方案可以包含多个项目,如一个DLL和一个引用该DLL的可执行文件。
2.2.1 使用项目和解决方案
用Visual Studio编写Visual C++程序的第一步是选择项目的类型。对于每种项目类型,Visual Studio设置编译器并生成起始代码。
在“文件”菜单中,指向“新建”,然后选择“项目…”。
在“项目类型”区域中,单击“Win32”。然后,在“Visual Studio已安装的模板”窗格中单击“Win32控制台应用程序”。
键入项目名称。在此示例中,我们将使用“游戏”。
创建新项目时,Visual Studio将该项目放入一个解决方案。请接受解决方案的默认名称,该名称与项目的名称相同。
你可以接受默认位置、键入一个不同的位置或者浏览到要保存项目的目录。
按“确定”按钮启动“Win32应用程序向导”。
在“Win32应用程序向导”对话框的“概述”页中,单击“下一步”按钮。
在“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。选择“其他选项”下的“空项目”设置并单击“完成”。
现在,得到了一个没有源代码文件的项目。
2.2.2 使用解决方案资源管理器
通过解决方案资源管理器,你可以轻松使用解决方案中的文件和其他资源。
此处你要向项目添加一个类,Visual Studio会将.h和.cpp文件添加到项目中。然后,为测试类的主程序添加一个新的源代码文件。
如果“解决方案资源管理器”窗口不可见,请单击“视图”菜单上的“解决方案资源管理器”。
右键单击“解决方案资源管理器”中的“头文件”文件夹并选择“添加”,然后单击“类”。
在“Visual C++”类别中,单击“Visual Studio已安装的模板”区域中的“C++”→“C++类”,单击“添加”按钮。
在“一般C++ 类向导”中,键入“Cardgame”作为“类名”,并接受默认的文件名,设置完成后单击“完成”按钮。
对编辑区域中显示的Cardgame.h文件进行下列更改:
● 在类定义的左大括号之后添加两个私有数据成员:
int players; static int totalparticipants;
● 添加一个采用int类型参数的公共构造函数原型:
Cardgame(int p);
● 删除生成的默认构造函数。默认构造函数是没有参数的构造函数。默认构造函数类似于如下形式:
Cardgame(void);
进行上述更改后,Cardgame.h文件应如下所示:
#pragma once class Cardgame { int players; static int totalparticipants; public: Cardgame(int p); ~Cardgame(void); };
#pragma once行指明编译器只包含该文件一次。
双击“源文件”文件夹中的“Cardgame.cpp”,以将其打开进行编辑。
为采用一个int参数的构造函数添加代码:
Cardgame::Cardgame(int p) { players = p; totalparticipants += p; cout << p << " players have started a new game. There are now " << totalparticipants << " players in total." << endl; }
开始键入pl或to时,可以按“Ctrl+空格键”,自动完成功能将完成键入players或totalparticipants的任务。
删除自动生成的默认构造函数:
Cardgame::Cardgame(void);
进行上述更改后,Cardgame.cpp文件应如下所示:
#include "Cardgame.h" #include <iostream> using namespace std; Cardgame::Cardgame(int p) { players = p; totalparticipants += p; cout << p << " players have started a new game. There are now " << totalparticipants << " players in total." << endl; } Cardgame::~Cardgame(void) { }
2.2.3 添加源文件
此处将为测试类的主程序添加一个源代码文件。
在“项目”菜单上,单击“添加新项”。
也可以使用“解决方案资源管理器”来向项目添加新文件,方法是右键单击“解决方案资源管理器”中的“源文件”文件夹,指向“添加”,然后选择“新建项”。
在“Visual C++”区域中,选择“代码”。然后单击“C++文件(.cpp)”。
键入“testgames”作为“名称”,然后单击“添加”按钮。
在testgames.cpp编辑窗口中键入以下代码:
#include "Cardgame.h" int Cardgame::totalparticipants = 0; int main() { Cardgame *bridge = 0; Cardgame *blackjack = 0; Cardgame *solitaire = 0; Cardgame *poker = 0; bridge = new Cardgame(4); blackjack = new Cardgame(8); solitaire = new Cardgame(1); delete blackjack; delete bridge; poker = new Cardgame(5); delete solitaire; delete poker; return 0; }
在“生成”菜单上,单击“生成解决方案”。
在“输出”窗口中,应当看到生成的输出,它指示已编译项目,并且未发生错误。如果未看到,请将代码与该主题较早显示的代码进行比较。