vc学习版教程文件Word格式文档下载.docx
《vc学习版教程文件Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《vc学习版教程文件Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
选择“确定”按钮,启动“Win32应用程序向导”。
5.在“Win32应用程序向导”的“概述”页面上,选择“下一步”按钮。
6.在“应用程序设置”页的“应用程序类型”下,选择“控制台应用程序”。
在“其他选项”下,清除“预编译头”设置,然后选择“空项目”设置。
选择“完成”按钮创建项目。
现在有了项目,但项目还没有源代码文件。
组织解决方案中的项目和文件
你可以使用“解决方案资源管理器”来组织和管理解决方案中的项目、文件与其他资源。
本部分演练演示如何将类添加到项目中。
当你添加类时,VisualStudio将添加相应的.h和.cpp文件。
下面,为测试类的主程序添加一个源代码文件。
向项目添加类
1.如果未显示“解决方案资源管理器”,请在菜单栏上依次选择“视图”、“解决方案资源管理器”。
2.在“解决方案资源管理器”中,打开“头文件”文件夹的快捷菜单,然后依次选择“添加”、“类”。
在“添加类”对话框的左侧窗格中,展开“VisualC++”节点,选择“C++”,然后在已安装模板列表的中间窗格中选择“C++类”。
选择“添加”按钮。
3.在“通用C++类向导”中,在“类名称”框中输入“Cardgame”。
请勿修改默认的文件名和设置。
选择“完成”按钮。
4.Cardgame.h文件将在编辑器中打开。
进行以下更改:
o在类定义的左大括号之后添加两个私有数据成员。
C++
复制
intplayers;
staticinttotalParticipants;
o修改VisualStudio生成的默认构造函数。
在public:
访问说明符之后,将发现如下所示的行:
Cardgame(void);
对其进行修改,使其带有一个类型为int、以玩家命名的参数。
Cardgame(intplayers);
o在默认析构函数之后,为名为GetParticipants的静态int成员函数添加内联声明,该成员函数没有参数且返回totalParticipants值。
staticintGetParticipants(){returntotalParticipants;
}
5.在你对Cardgame.h文件进行更改之后,该文件应类似于:
#pragmaonce
classCardgame
{
public:
Cardgame(intplayers);
~Cardgame(void);
};
#pragmaonce行通知编译器要包括文件,仅有一次。
有关详细信息,请参阅once。
有关此头文件中的其他C++关键字的信息,请参阅类、int、静态和公共。
6.在编辑窗格中选择“Cardgame.cpp”选项卡,打开进行编辑。
7.删除文件中的所有内容,并用此代码替换:
#include"
Cardgame.h"
#include<
iostream>
using
namespacestd;
intCardgame:
:
totalParticipants=0;
Cardgame:
Cardgame(intplayers)
:
players(players)
totalParticipants+=players;
cout<
<
players<
"
playershavestartedanewgame.Therearenow"
<
totalParticipants<
playersintotal."
endl;
}
~Cardgame()
说明
输入代码时,可以使用自动完成功能。
例如,如果你正在输入此代码,可以输入pl或tot,然后按Ctrl+Spacebar,这样自动完成功能就会帮你输入players或totalParticipants。
有关#include的详细信息,请参阅#include指令(C/C++)。
添加源文件
现在,为测试类的主程序添加一个源代码文件。
添加新源文件
1.在“解决方案资源管理器”中,打开“源文件”文件夹的快捷菜单,然后依次选择“添加”、“新建项”。
在“添加新项”对话框的左侧窗格中,依次展开“已安装”节点、“VisualC++”节点,然后选择“代码”。
在中间窗格中,选择“C++文件(.cpp)”。
2.在“名称”框中输入“TestGames.cpp”,然后选择“添加”按钮。
3.在TestGames.cpp编辑窗口中,键入以下代码。
//TestGames.cpp
voidPlayGames()
Cardgamebridge(4);
Cardgameblackjack(8);
Cardgamesolitaire
(1);
Cardgamepoker(5);
intmain()
PlayGames();
return0;
生成并运行项目
现在,生成项目并运行应用程序。
生成并运行此项目
1.在菜单栏上,依次选择“生成”、“生成解决方案”。
如果使用不显示“生成”菜单的Express版,请在菜单栏上依次选择“工具”、“设置”、“专家设置”来启用。
2.来自生成的输出应显示在“输出”窗口中。
如果生成成功,输出应类似于:
1>
------生成已开始:
项目:
Game,配置:
DebugWin32------
1>
TestGames.cpp
Cardgame.cpp
正在生成代码...
Game.vcxproj->
c:
\users\username\documents\visualstudio\Projects\Game\Debug\Game.exe
==========生成:
1成功,0失败,0最新,0被跳过==========
“输出”窗口可以根据不同的版本和生成配置显示不同步骤,但是,如果项目生成成功,最后一行应类似于上面显示的输出。
如果生成未成功,请将你的代码与前面步骤中提供的代码进行比较。
若要运行项目,请在菜单栏上依次选择“调试”、“开始执行(不调试)”。
输出应该与下面的内容类似:
4个玩家开始了新游戏。
现在共有4个玩家。
8个玩家开始了新游戏。
现在共有12个玩家。
1个玩家开始了新游戏。
现在共有13个玩家。
5个玩家开始了新游戏。
现在共有18个玩家。
生成项目(C++)
在本演练中,你故意在代码中引入一个VisualC++语法错误,来了解什么是编译错误,以与如何修复。
编译项目时,会显示错误消息以指示所发生的问题的性质和位置。
∙本演练假定你具备C++语言的基础知识。
∙它还假定你已完成使用VisualStudioIDE进行C++桌面开发中列出的早期相关演练。
修复编译错误
1.在TestGames.cpp中,删除最后一行中的分号,使代码如下所示:
return0
2.在菜单栏上,依次选择“生成”、“生成解决方案”。
3.“错误列表”窗口中的消息表示生成项目过程中出现了错误。
该声明类似于这样:
errorC2143:
syntaxerror:
missing'
;
'
before'
}'
若要查看有关此错误的帮助信息,请在“错误列表”窗口中将其选中,然后按F1键。
4.将分号重新添加到导致语法错误的行的末尾:
5.在菜单栏上,依次选择“生成”、“生成解决方案”。
“输出”窗口中显示一条消息,指示项目已成功编译。
C:
\Users\<
用户名>
\Documents\VisualStudio<
version>
\Projects\Game\Debug\Game.exe
测试项目(C++)
以“调试”模式运行程序时,您可以使用断点来暂停程序,以检查变量和对象的状态。
在本演练中,您在程序运行时观察变量的值,并推断为什么值与预期不同。
∙本演练假定您具备C++语言的基础知识。
∙它还假定已完成使用VisualStudioIDE进行C++桌面开发中列出的早期相关演练。
以“调试”模式运行程序
1.打开TestGames.cpp进行编辑。
2.选择此行代码:
Cardgame.solitaire
(1);
3.若要在该行上设置断点,请在菜单栏上依次选择“调试”、“切换断点”,或者按F9键。
该行的左侧会显示一个红色圆圈;
此圆圈表示设置了断点。
若要移除断点,您可以再次选择菜单命令或按F9键。
如果您使用鼠标,则可以通过单击左侧边距来设置或移除断点。
4.在菜单栏上,依次选择“调试”、“启动调试”,或按F5键。
当程序运行到包含断点的行时,执行将暂时停止(因为程序处于“中断”模式)。
代码行左侧的黄色箭头指示该行是要执行的下一个代码行。
5.若要检查变量Cardgame:
totalParticipants的值,请将指针移到Cardgame上,然后再将指针移到工具提示窗口左侧的扩展控件上。
将显示变量的名称totalParticipants和其值12。
打开Cardgame:
totalParticipants变量的快捷菜单,然后选择“添加监视”在“监视1”窗口中显示变量。
您也可以选择该变量并将其拖动到“监视1”窗口。
6.若要步进到下一行代码,请在菜单栏上依次选择“调试”、“单步执行”,或者按F10键。
“监视1”窗口中Cardgame:
totalParticipants的值现在显示为13。
7.打开return0;
语句的快捷菜单,然后选择“运行到光标处”。
代码左侧的黄色箭头指向要执行的下一个语句。
8.当Cardgame终止时,Cardgame:
totalParticipants数应减少。
此时,Cardgame:
totalParticipants应为0,原因在于所有的Cardgame实例都已删除,但“监视1”窗口显示Cardgame:
totalparticipants等于18。
这表明代码中有Bug,而您可以通过完成下一个演练来对其进行检测和修复,演练:
调试项目(C++)。
9.若要停止程序,请在菜单栏上选择“调试”、“停止调试”或按Shift+F5键盘快捷键。
调试项目(C++)
在本步骤中,您将调整程序以修复在测试项目时你所发现的问题。
修复包含bug的程序
1.要理解在撤销Cardgame对象时会发生什么,请查看Cardgame类的析构函数。
在菜单栏上,选择“查看”、“类似图”。
在“类视图”窗口中,展开“游戏”项目树并选择“Cardgame”类展示类成员和方法。
打开~Cardgame(失效)析构函数的快捷菜单然后选择“转到定义”。
2.在卡片游戏终止时totalParticipants会递减,请在析构函数Cardgame:
~Cardgame的左大括号和右大括号之间加入以下代码:
totalParticipants-=players;
cout<
playershavefinishedtheirgame.Therearenow"
3.在您对Cardgame.cpp文件进行更改之后,该文件应类似于:
totalParticipants-=players;
4.在菜单栏上,依次选择“生成”、“生成解决方案”。
5.在版本完成后,通过选择在菜单栏上的“调试”“启动调试”运行调试模式,或按F5键。
程序将在第一个断点处暂停。
6.若要逐句通过程序单步执行,则在菜单栏上,选择“调试”,“单步执行”,或选择F10键。
请注意,当卡片游戏的每个构造函数都执行后,totalParticipants的值会增大。
当PlayGames函数返回,由于每个超出X围的卡片游戏实例都将被删除(并调用析构函数),totalParticipants降低。
恰好在执行return语句之前,totalParticipants等于0。
7.继续逐句执行程序,直到退出或让其通过选择在菜单栏上的“调试”,“运行”,或通过选择F5键运行。
部署程序(C++)
现在已通过完成早期相关演练创建了应用程序,该演练在使用VisualStudioIDE进行C++桌面开发中列出,最后一步是创建安装程序以便其他用户将程序安装到自己的计算机上。
为此,你需要将新项目添加到现有解决方案。
此新项目输出setup.exe文件,该文件将把你的应用程序安装到其他计算机上。
本演练演示如何使用WindowsInstaller部署应用程序。
你还可以使用ClickOnce部署应用程序。
有关更多信息,请参见VisualC++应用程序的ClickOnce部署。
有关常规部署的详细信息,请参见部署应用程序、服务器和组件。
∙本演练无法在VisualStudioExpress版中完成。
∙如果你尚未完成上述演练,则如本文后续步骤所述,下载InstallShieldlimitedEdition(ISLE)。
ISLE可供VisualStudio开发人员免费使用,它取代了VisualStudio早期版本中的安装和部署项目模板功能。
安装ISLE安装和部署项目模板
1.连接到Internet后,在菜单栏上依次选择“文件”、“新建”、“项目”,打开“新建项目”对话框。
2.在对话框的左窗格中,依次展开“已安装应用程序”、“模板”和“其他项目类型”节点,然后选择“安装和部署”。
在中间窗格中,选择“启用InstallShieldLimitedEdition”,然后选择“确定”按钮。
3.遵照说明安装InstallShieldLimitedEditionforVisualStudio(ISLE)。
4.在你下载、安装并激活ISLE后,请关闭VisualStudio,然后重新打开。
5.在菜单栏上,依次选择“文件”、“最近使用的项目和解决方案”,然后选择“游戏”解决方案重新打开。
创建安装项目和安装程序
1.将活动解决方案配置更改为“发布”。
在菜单栏上,依次选择“生成”、“配置管理器”。
从“配置管理器”对话框的“活动解决方案配置”下拉列表中选择“发布”。
选择“关闭”按钮,保存配置。
2.在菜单栏上,依次选择“文件”、“新建”、“项目”,打开“新建项目”对话框。
3.在对话框的左窗格中,依次展开“已安装应用程序”、“模板”和“其他项目类型”节点,然后选择“安装和部署”。
在中间窗格中,选择“InstallShieldlimitedEdition项目”。
4.在“名称”框中输入安装项目的名称。
对于此示例,请输入“游戏安装程序”。
在“解决方案”下拉列表中,选择“添加到解决方案”。
选择“确定”按钮,创建安装项目。
将打开编辑器窗口中的“项目助手(游戏安装程序)”选项卡。
5.在“项目助手(游戏安装程序)”选项卡底部,选择“应用程序信息”。
6.在“应用程序信息”页面上,如果希望公司名称显示在安装程序中,请指定公司名称。
你可以使用自己的公司名称,或者在此示例中使用Contoso作为公司名称。
指定你的应用程序名称;
在该示例中,指定为“游戏”。
指定你的公司Web地址,或者在该示例中,使用:
//contoso。
7.在“项目助手(游戏安装程序)”选项卡底部,选择“安装访谈”。
8.在“安装访谈”页面上,在“是否显示许可协议对话框”下,选择“否”选项按钮。
在“是否提示用户输入其公司名称和用户名”下,选择“否”选项按钮。
9.在“解决方案资源管理器”中,依次展开“游戏安装程序”项目、“组织你的安装”节点,然后打开“常规信息”页面。
10.在编辑器窗口的“一般信息(游戏安装程序)”选项卡中,指定“标记创建者ID”,例如,regid.2012-12.Contoso。
11.在“解决方案资源管理器”中,在“游戏安装程序”项目下,展开“指定应用程序数据”节点,然后打开“文件”页面。
12.在编辑器窗口的“文件(游戏安装程序)”选项卡中,在“源计算机文件”下,打开“游戏的主输出”快捷菜单,然后选择“复制”。
13.在“目标计算机文件”的“名称”列下的空白处打开快捷菜单,然后选择“粘贴”。
屏幕上将显示名为“Game.PrimaryOutput”的新项。
14.在“解决方案资源管理器”中,在“指定应用程序数据”节点下,打开“可再发行组件”页面。
15.在编辑器窗口中“可再发行组件(游戏安装程序)”选项卡中,选中“VisualC++11.0CRT(x86)”复选框。
16.在菜单栏上,依次选择“生成”、“生成解决方案”,生成游戏项目和游戏安装程序项目。
17.在解决方案文件夹中,找到从游戏安装程序项目生成的setup.exe程序,然后运行该程序将游戏应用程序安装到计算机上。
可在另一台计算机上复制此文件,来安装应用程序与其所需的库文件。
18.可以在安装项目中设置多个选项,满足你的需求。
有关更多信息,请在“游戏安装程序”项目下的“解决方案资源管理器”中打开“入门”页面,然后选择F1键打开ISLEHelpLibrary。