更新:2007 年 11 月
在 Visual Studio中,可以将您的工作组织为项目和解决方案。一个解决方案可以包含多个项目,如一个 DLL 和一个引用该 DLL 的可执行文件。有关更多信息,请参见 介绍解决方案、项目和项。
用 Visual Studio 编写 Visual C++程序的第一步是选择项目的类型。对于每种项目类型,Visual Studio 都为您设置编译器设置并生成起始代码。 在“文件”菜单中,指向“新建”,然后单击“项目...”。 在“项目类型”区 域中,单击“Win32”。然后,在“Visual Studio 已安装的模板”窗格中,单击“Win32 控制台应用程序”。 键 入项目名称。在此示例中,我们将使用“游戏”。 创建新项目时,Visual Studio 将该项目放入一个解决方案。请接受解决方案的默认名称,该名称与项目的名称相同。 您可以接受默认位置、键入一个不同的位置或 者浏览到要保存项目的目录。 按“确定”启动“Win32 应用程序向导”。 在“Win32 应用程序向导”对 话框的“概述”页中,单击“下一步”。 在“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。选择“其他选项”下的“空项目”设置并单击“完成”。 现在,您得到了一 个没有源代码文件的项目。 通过解决方案资源管理器,您可以轻松使用解决方案中的文件和其他资源。 在本步骤中,您要向项目添加一个类,Visual Studio 会将 .h 和 .cpp文件添加到项目中。然后,为测试类的主程序向项目添加一个新的源代码文件。 如果“解决方案资源 管理器”窗口不可见,请单击“视图”菜单上的“解决 方案资源管理器”。 右击“解决方案资源管理器”中的“头文件”文件夹并指向“添加”。然后单击“类”。 在“Visual C++”类别中,单击“Visual Studio 已安装的模板”区域中的“C++”, 然后单击“C++ 类”。单击“添加”。 在“一般 C++ 类向导”中,键入“Cardgame”作 为“类名”,并接受默认的文件名,然后单击和设置。然后单击“完 成”。 对编辑区域中显示的 Cardgame.h 文件进行下列更改: 在 类定义的左大括号之后添加两个私有数据成员: 添加一个采用一个 int 类型的参数的公共构造函数原型: 删除为您生成的默认构造函数。默认构造函数是没有参数的构造函数。默认构造函数类似于如下所示: 进行上述更改后,Cardgame.h 文件应如下所示: #pragma once 行指明编译器只包含该文件一次。有关更多信息,请参见 once。 有 关此头文件中包含的其他 C++ 关键字的信息,请参见 class (C++)、int、Static (C++) 和 public (C++)。 双击“源文件”文件夹中的“Cardgame.cpp”,以将其打开进行编辑。 为采用一个 int 参数的构造函数添加代码: 开始键入 pl 或 to 时,可以按 Ctrl-空格键,自动完成功能将为您完成键入 players 或 totalparticipants。 删除自动生成的默认构造函数: 进行上述更改后,Cardgame.cpp 文件应如下所示: 有关 #include 的说明,请参见 The #include Directive。 在本步骤中,您将为测试类的主程序添加一个源代码文件。 在“项目”菜单上,单击“添加新项”。 也可以使用 “解决方案资源管理器”来向项目添加新文件,方法是右击“解决方案资源管理器”中的“源文件”文件夹, 指向“添加”。然后单击“新建项”。 在“Visual C++”区域中,选择“代码”。然后单击“C++ 文件(.cpp)”。 键入“testgames”作 为“名称”,然后单击“添加”。 在 testgames.cpp 编辑窗口中,键入以下代码: 有关此源文件中包含的 C++ 关键字的信息,请参见new Operator (C++) 和 delete Operator (C++)。 在“生成”菜 单上,单击“生成解决方案”。 在“输出”窗 口中,您应当看到生成的输出,它指示已编译项目,并且未发生错误。如果未看到,请将您的代码与该主题较早显示的代码进行比较。 上一部分:VisualStudio IDE 简介 (C++) | 下一部分:生成项目 (C++)创建新项目
向项目添加类
int players; static int totalparticipants;
Cardgame(int p);
Cardgame(void);
#pragma once class Cardgame { int players; static int totalparticipants; public: Cardgame(int p); ~Cardgame(void); };
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 "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 "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; }