admin 管理员组

文章数量: 887021


2024年2月27日发(作者:php安装数据库)

用 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 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 行指明编译器只包含该文件一次。有关更多信息,请参见 once。

有关此头文件中包含的其他 C++ 关键字的信息,请参见 class (C++)、int、Static (C++) 和 public (C++)。

双击“源文件”文件夹中的“”,以将其打开进行编辑。

为采用一个 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。

删除自动生成的默认构造函数:[color=#FF0000][/color]

复制代码

Cardgame::Cardgame(void);

进行上述更改后, 文件应如下所示:

复制代码

#include "Cardgame.h"

#include

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 的说明,请参见 The #include Directive。

添加源文件[color=#FF0000][/color]

在本步骤中,您将为测试类的主程序添加一个源代码文件。

添加新源文件

在“项目”菜单上,单击“添加新项”。

也可以使用“解决方案资源管理器”来向项目添加新文件,方法是右击“解决方案资源管理器”中的“源文件”文件夹,指向“添加”。然后单击“新建项”。

在“Visual C++”区域中,选择“代码”。然后单击“C++ 文件(.cpp)”。

键入“testgames”作为“名称”,然后单击“添加”。

在 编辑窗口中,键入以下代码:

复制代码

#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 C++ 语法错误,以了解什么是编译错误,以及如何修复它。编译项目时,会显示错误消息以指示所发生的问题的性质和位置。

先决条件

本主题假定您具备 C++ 语言的基础知识。

使用 IDE 修复编译错误

在 中,删除最后一行中的分号,使代码如下所示:

复制代码

return 0

在“生成”菜单上,单击“生成解决方案”。

“输出”窗口中显示一条消息,指示生成项目失败。

单击“输出”窗口中的“转到下一条消息”按钮(指向右方的绿色箭头)。“输出”窗口中的错误消息和状态栏区域指示右大括号前缺少一个分号。

若要查看有关错误的更多帮助信息,请突出显示错误,并按 F1 键。

将分号重新添加到导致语法错误的行的末尾:

复制代码

return 0;

在“生成”菜单上,单击“生成解决方案”。

“输出”窗口中显示一条消息,指示项目已正确编译。

以“调试”模式运行程序使您可以使用断点来暂停程序,以检查变量和对象的状态。

在本步骤中,您将在程序运行时观察变量的值,并推断为什么值与预期的不同。

先决条件

本主题假定您具备 C++ 语言的基础知识。

以“调试”模式运行程序

如果“”文件不可见,请在编辑区域中单击该文件对应的选项卡。

单击以下行,将其设置为编辑器中的当前行:

复制代码

solitaire = new Cardgame(1);

若要在该行上设置断点,请单击“调试”菜单上的“切换断点”,或者按 F9。也可以单击代码行左侧的区域来设置或清除断点。

设置了断点的代码行的左侧会显示一个红色圆圈。

在“调试”菜单上单击“开始调试”,或者按 F5。

当程序运行到包含断点的行时,执行将暂时停止(因为程序处于“中断”模式)。代码行左侧的黄色箭头指示该行是要执行的下一个代码行。

若要检查 totalparticipants 变量的值,请将鼠标指针悬停在该变量上方。该变量的名称及其值 12 即显示在工具提示窗口中。

右击 totalparticipants 变量并单击“添加监视”,以在“监视”窗口中显示该变量。您也可以选择该变量并将其拖动到“监视”窗口。

在“调试”菜单上,单击“逐过程”,或者按 F10 步进到下一行代码。

totalparticipants 的值现在显示为 13。

右击 main 方法的最后一行 (return 0;),并单击“运行到光标处”。代码左侧的黄色箭头指向要执行的下一个语句。

当 Cardgame 终止时,totalparticipants 数应减小。此时,totalparticipants 应等于

0,这是因为所有的 Cardgame 指针都已删除,但是“监视 1”窗口指示 totalparticipants 等于 18。

代码中存在一个 bug,您将在下一节中检测并修复它。

在“调试”菜单上,单击“停止调试”或者按 Shift-F5 停止程序。

在本步骤中,您将修改程序以修复在测试项目时发现的问题。

先决条件

本主题假定您具备 C++ 语言的基础知识。

修复包含 bug 的程序

若要明白在 Cardgame 对象销毁时会发生什么,请查看 Cardgame 类的析构函数。

在“视图”菜单上,单击“类视图”,或者单击“解决方案资源管理器”窗口中的“类视图”选项卡。

展开“game”项目树并单击“Cardgame”类。

下方的区域显示类的成员和方法。

右击“~Cardgame(void)”析构函数并单击“转到定义”。

要在 Cardgame 终止时减少 totalparticipants ,请在 Cardgame::~Cardgame 析构函数的左大括号和右大括号之间键入以下代码:

复制代码

totalparticipants -= players;

cout << p << " players have started a new game. There are now "

<< totalparticipants << " players in total." << endl;

进行上述更改后, 文件应如下所示:

复制代码

#include "Cardgame.h"

#include

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)

{

totalparticipants -= players;

cout << players << " players have finished their game. There are now "

<< totalparticipants << " players in total." << endl;

}

在“生成”菜单上,单击“生成解决方案”。

在“调试”菜单上,单击“运行”,或按 F5,以“调试”模式运行该程序。程序将在第一个断点处暂停。

在“调试”菜单上单击“逐过程”或者按 F10 逐句通过程序。

请注意,执行每个 Cardgame 构造函数后,totalparticipants 的值会增大。而在删除每个指针(并调用析构函数)后,totalparticipants 的值会减小。

单步执行至程序的最后一行。恰好在执行 return 语句之前,totalparticipants 等于 0。继续逐句通过程序,直到程序退出;或者,在“调试”菜单上单击“运行”或按 F5,允许程序继续运行,直到退出。

现在,我们创建了应用程序,最后一步是创建可供其他用户在其计算机上安装该程序的安装程序。为此,我们需要将新项目添加到现有解决方案。此新项目的输出是 文件,该文件用于安装我们之前在另一台计算机上创建的应用程序。

本演练将使用 Windows Installer 来部署应用程序。您还可以使用 ClickOnce 部署应用程序。有关更多信息,请参见 ClickOnce 部署。有关常规部署的更多信息,请参见部署应用程序和组件。

先决条件

本主题假定您具备 C++ 语言的基础知识。

创建安装项目和安装程序

在“文件”菜单上单击“添加”,再单击“新建项目...”。

随即出现“添加新项目”对话框。

从“项目类型:”窗格中,展开“其他项目类型”节点并选择“安装和部署”。

从“模板”窗格中,选择“安装向导”。为安装项目键入名称(如 gameInstaller),并单击“确定”按钮。

将出现“安装向导”。单击“下一步”继续。

从向导的“选择一种项目类型”窗格中,选择“为 Windows 应用程序创建一个安装程序”选项,并单击“下一步”继续。

从向导的“选择要包括的项目输出”窗格,选择“游戏的主输出”,并单击“下一步”继续。

无需在安装程序中包括任何其他文件,因此,从安装程序的“选择要包括的文件”窗格中,单击“下一步”。

检查向导的更改,并验证所有内容是否正确。单击“完成”创建项目。

“解决方案资源管理器”中将列出新的 gameInstaller 项目。此项目将列出应用程序依靠的依赖项(如 C 运行时库或 .NET Framework)以及安装程序中将包括的项目文件。

创建安装项目后,有许多选项可以更改。有关更多信息,请参见 Windows Installer 部署。

通过在“解决方案资源管理器”中选择安装程序并从“生成”菜单单击“生成 gameInstaller”来生成安装程序。

找到上一节创建的 和 程序。在计算机上双击任一文件安装应用程序。

我们已经学习了 Visual Studio IDE,现在可以开始使用 Visual C++ 编写程序了。我们将学习创建的第一个应用程序类型是命令行应用程序。命令行应用程序不包含图形用户界面

(GUI)。通常,命令行应用程序从控制台读取输入,并将输出写入该控制台,而不是写入图形窗口。

在本节中,您将学习如何创建 C 和 C++ 命令行应用程序。还将学习如何创建不使用 Micr

osoft 扩展的标准 C 和 C++ 程序。如果您希望使用 Visual C++ 创建在其他操作系统上使用的应用程序,这将很有用。


本文标签: 项目 文件 应用程序 程序 添加