vc2010学习版教程文件
- 格式:doc
- 大小:208.50 KB
- 文档页数:11
使用 Visual Studio IDE 进行 C++ 桌面开发
演练:使用项目和解决方案 (C++)
Visual Studio 2013
此处介绍如何在 Visual Studio 中创建 C++ 项目,添加代码,然后生成并运行该项目。 本演练中的项目是一个程序,该程序跟踪正在玩各种纸牌游戏的玩家数量。
在 Visual Studio 中,可以将工作组织为项目和解决方案。 一个解决方案可以包含多个项目,例如,一个
DLL 和一个引用该 DLL 的可执行文件。有关详细信息,请参阅解决方案和项目。
系统必备
• 若要完成本演练,你必须了解 C++ 语言的基础知识。
创建项目
若要创建项目,请先选择项目类型模板。 对于各种项目类型,Visual Studio 会根据类型设置编译器设置,生成起始代码,稍后你可以进行修改。
创建项目
1. 在菜单栏上,依次选择“文件”、“新建”、“项目”。
2. 在“新建项目”对话框的左侧窗格中,依次展开“已安装的模板”节点、“Visual C++”节点,然后选择“Win32”。
3. 在已安装模板列表的中间窗格中,选择“Win32 控制台应用程序”。
4. 在“名称”框中输入项目的名称。 对于此示例,请输入“游戏”。
你可以接受“位置”下拉列表中的默认位置,输入其他位置,或者选择“浏览”按钮,浏览要保存项目的目录。
当你创建项目时,Visual Studio 会将该项目放入一个解决方案。 默认情况下,解决方案的名称与项目名称相同。你可以更改“解决方案名称”框中的名称,但是对于此示例,请保留默认名称。
选择“确定”按钮,启动“Win32 应用程序向导”。
5. 在“Win32 应用程序向导”的“概述”页面上,选择“下一步”按钮。
6. 在“应用程序设置”页的“应用程序类型”下,选择“控制台应用程序”。 在“其他选项”下,清除“预编译头”设置,然后选择“空项目”设置。选择“完成”按钮创建项目。 现在有了项目,但项目还没有源代码文件。
组织解决方案中的项目和文件
你可以使用“解决方案资源管理器”来组织和管理解决方案中的项目、文件与其他资源。
本部分演练演示如何将类添加到项目中。 当你添加类时,Visual Studio 将添加相应的 .h 和 .cpp 文件。下面,为测试类的主程序添加一个源代码文件。
向项目添加类
1. 如果未显示“解决方案资源管理器”,请在菜单栏上依次选择“视图”、“解决方案资源管理器”。
2. 在“解决方案资源管理器”中,打开“头文件”文件夹的快捷菜单,然后依次选择“添加”、“类”。
在“添加类”对话框的左侧窗格中,展开“Visual C++”节点,选择“C++”,然后在已安装模板列表的中间窗格中选择“C++ 类”。 选择“添加”按钮。
3. 在“通用 C++ 类向导”中,在“类名称”框中输入“Cardgame”。 请勿修改默认的文件名和设置。选择“完成”按钮。
4. Cardgame.h 文件将在编辑器中打开。 进行以下更改:
o 在类定义的左大括号之后添加两个私有数据成员。
C++
复制int players;
staticint totalParticipants;
o 修改 Visual Studio 生成的默认构造函数。 在 public: 访问说明符之后,将发现如下所示的行:
Cardgame(void);
对其进行修改,使其带有一个类型为 int、以玩家命名的参数。
C++
复制
Cardgame(int players);
o 在默认析构函数之后,为名为 GetParticipants 的静态 int 成员函数添加内联声明,该成员函数没有参数且返回 totalParticipants 值。 C++
复制staticint GetParticipants() { return totalParticipants; }
5. 在你对 Cardgame.h 文件进行更改之后,该文件应类似于:
C++
复制#pragma once
class Cardgame
{
int players;
staticint totalParticipants;
public:
Cardgame(int players);
~Cardgame(void);
staticint GetParticipants() { return totalParticipants; }
};
#pragma once 行通知编译器要包括文件,仅有一次。 有关详细信息,请参阅 once。
有关此头文件中的其他 C++ 关键字的信息,请参阅类、int、静态和公共。
6. 在编辑窗格中选择“Cardgame.cpp”选项卡,打开进行编辑。
7. 删除文件中的所有内容,并用此代码替换:
C++
复制#include "Cardgame.h"
#include
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()
{ }
说明
输入代码时,可以使用自动完成功能。 例如,如果你正在输入此代码,可以输入 pl 或 tot,然后按
Ctrl+Spacebar,这样自动完成功能就会帮你输入 players 或 totalParticipants。
有关 #include 的详细信息,请参阅 #include 指令 (C/C++)。
添加源文件
现在,为测试类的主程序添加一个源代码文件。
添加新源文件
1. 在“解决方案资源管理器”中,打开“源文件”文件夹的快捷菜单,然后依次选择“添加”、“新建项”。
在“添加新项”对话框的左侧窗格中,依次展开“已安装”节点、“Visual C++”节点,然后选择“代码”。 在中间窗格中,选择“C++ 文件(.cpp)”。
2. 在“名称”框中输入“TestGames.cpp”,然后选择“添加”按钮。
3. 在 TestGames.cpp 编辑窗口中,键入以下代码。
C++
复制// TestGames.cpp
#include "Cardgame.h"
#include
using namespace std;
void PlayGames()
{
Cardgame bridge(4);
Cardgame blackjack(8);
Cardgame solitaire(1);
Cardgame poker(5);
}
int main() {
PlayGames();
return 0;
}
生成并运行项目
现在,生成项目并运行应用程序。
生成并运行此项目
1. 在菜单栏上,依次选择“生成”、“生成解决方案”。
说明
如果使用不显示“生成”菜单的 Express 版,请在菜单栏上依次选择“工具”、“设置”、“专家设置”来启用。
2. 来自生成的输出应显示在“输出”窗口中。 如果生成成功,输出应类似于:
1>------ 生成已开始: 项目: Game, 配置: Debug Win32 ------
1> TestGames.cpp
1> Cardgame.cpp
1> 正在生成代码...
1> Game.vcxproj -> c:\users\username\documents\visual
studio\Projects\Game\Debug\Game.exe
========== 生成: 1 成功, 0 失败, 0 最新, 0 被跳过 ==========
“输出”窗口可以根据不同的版本和生成配置显示不同步骤,但是,如果项目生成成功,最后一行应类似于上面显示的输出。
如果生成未成功,请将你的代码与前面步骤中提供的代码进行比较。
若要运行项目,请在菜单栏上依次选择“调试”、“开始执行(不调试)”。 输出应该与下面的内容类似:
4 个玩家开始了新游戏。现在共有 4 个玩家。
8 个玩家开始了新游戏。现在共有 12 个玩家。 1 个玩家开始了新游戏。现在共有 13 个玩家。
5 个玩家开始了新游戏。现在共有 18 个玩家。
演练:生成项目 (C++)
Visual Studio 2013
在本演练中,你故意在代码中引入一个 Visual C++ 语法错误,来了解什么是编译错误,以与如何修复。 编译项目时,会显示错误消息以指示所发生的问题的性质和位置。
系统必备
• 本演练假定你具备 C++ 语言的基础知识。
• 它还假定你已完成使用 Visual Studio IDE 进行 C++ 桌面开发中列出的早期相关演练。
修复编译错误
1. 在 TestGames.cpp 中,删除最后一行中的分号,使代码如下所示:
return 0
2. 在菜单栏上,依次选择“生成”、“生成解决方案”。
3. “错误列表”窗口中的消息表示生成项目过程中出现了错误。 该声明类似于这样:
error C2143: syntax error : missing ';' before '}'
若要查看有关此错误的帮助信息,请在“错误列表”窗口中将其选中,然后按 F1 键。
4. 将分号重新添加到导致语法错误的行的末尾:
return 0;
5. 在菜单栏上,依次选择“生成”、“生成解决方案”。
“输出”窗口中显示一条消息,指示项目已成功编译。
1>------ 生成已开始: 项目: Game, 配置: Debug Win32 ------
1> TestGames.cpp
1> Game.vcxproj -> C:\Users\\Documents\Visual Studio
\Projects\Game\Debug\Game.exe
========== 生成: 1 成功, 0 失败, 0 最新, 0 被跳过 ==========