演练:使用项目和解决方案 (C++)
在 Visual Studio 中,可以将您的工作组织为项目和解决方案。 一个解决方案可以包含多个项目,例如,一个 DLL 和一个引用该 DLL 的可执行文件。 有关更多信息,请参见介绍解决方案、项目和项。
此演练演示如何创建项目,使用“解决方案资源管理器”向项目中添加文件,在文件中键入代码,然后生成项目。
系统必备
若要完成本演练,您必须了解 C++ 语言的基础知识。 如果您刚刚开始学习 C++,建议阅读 Herb Schildt 编写的“C++ Beginner's Guide”(《C++ 初学者指南》),MSDN 网站上的 Beginner Developer Learning Center(入门开发人员学习中心)提供了该指南。
创建项目
在使用 Visual Studio 编写 Visual C++ 程序的过程中,第一个任务是选择项目的类型。 对于每个项目类型,Visual Studio 均会设置编译器设置,并会为您生成起始代码。在此演练中的项目中,您将创建一个基本程序,该程序跟踪有多少个玩家正在玩不同的纸牌游戏。
创建项目
在**“文件”菜单上指向“新建”,再单击“项目”**。
在**“项目类型”区域中,单击“Visual C++”。 然后,在“Visual Studio 已安装的模板”窗格中,单击“Win32 控制台应用程序”**。
键入项目名称。 对于此示例,请键入 game。
当您创建项目时,Visual Studio 会将该项目放入一个解决方案。 默认情况下,解决方案的名称与项目名称相同。 接受该名称。
您可以接受默认位置、键入一个不同的位置或者浏览到要保存项目的目录。
单击**“确定”启动“Win32 应用程序向导”**。
在**“Win32 应用程序向导”的“概述”页上,单击“下一步”**。
在**“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。 在“附加选项”下选择“空项目”设置。 单击“完成”**。
现在有了项目,但项目还没有源代码文件。
使用解决方案资源管理器
**“解决方案资源管理器”**可帮助您使用解决方案中的文件和其他资源。
在本节中,您将向项目中添加一个类,并且 Visual Studio 将添加 .h 和 .cpp 文件。 然后,为测试类的主程序向项目添加一个新的源代码文件。
向项目添加类
如果未显示**“解决方案资源管理器”,请在“视图”菜单上,单击“解决方案资源管理器”**。
在**“解决方案资源管理器”中,右击“头文件”文件夹,指向“添加”,然后单击“类”**。
在**“Visual C++”类别中,单击“C++”,在“Visual Studio 已安装的模板”区域中单击“C++ 类”,然后单击“添加”**。
在**“一般 C++ 类向导”中,键入 Cardgame 作为“类名”,并接受默认的文件名和设置。 单击“完成”**。
对已在编辑区域中打开的 Cardgame.h 文件进行以下更改:
在类定义的左大括号之后添加两个私有数据成员。
int players; static int totalparticipants;
添加一个采用类型为 int 的参数之一的公共构造函数原型。
Cardgame(int p);
删除 Visual Studio 生成的默认构造函数。 默认构造函数是没有参数的构造函数。 该默认构造函数类似于:
Cardgame(void);
在您对 Cardgame.h 文件进行更改之后,该文件应类似于:
#pragma once class Cardgame { int players; static int totalparticipants; public: Cardgame(int p); ~Cardgame(void); };
#pragma once 行指明编译器只包含该文件一次。 有关更多信息,请参见once。
有关此头文件中的其他 C++ 关键字的信息,请参见 class (C++)、int、Static (C++) 和 public (C++)。
双击**“源文件”**文件夹中的 Cardgame.cpp,将其打开以进行编辑。
在 #include "Cardgame.h" 之后,添加以下各行。
#include <iostream> using namespace std;
为采用一个 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 的操作。
删除 Visual Studio 生成的以下默认构造函数。
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) { }
有关 #include的更多信息,请参见#include Directive (C/C++)。
添加源文件
现在,为测试类的主程序添加一个源代码文件。
添加新源文件
在**“解决方案资源管理器”中,右击“源文件”文件夹,指向“添加”,然后单击“新建项”**。
在**“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; }
有关此源文件中的 C++ 关键字的信息,请参见 new Operator (C++) 和 delete Operator (C++)。
在**“生成”菜单上,单击“生成解决方案”**。
来自生成的输出应显示在**“输出”**窗口中。 这表示项目已编译,并且未发生错误。 如果未显示输出,请将您的代码与前面步骤中提供的代码进行比较。
后续步骤
上一部分:Visual Studio IDE 简介 (C++)。 下一部分: 演练:生成项目 (C++)。