演练:使用项目和解决方案 (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 均会设置编译器设置,并会为您生成起始代码。在此演练中的项目中,您将创建一个基本程序,该程序跟踪有多少个玩家正在玩不同的纸牌游戏。

创建项目

  1. 在**“文件”菜单上指向“新建”,再单击“项目”**。

  2. 在**“项目类型”区域中,单击“Visual C++”。 然后,在“Visual Studio 已安装的模板”窗格中,单击“Win32 控制台应用程序”**。

  3. 键入项目名称。 对于此示例,请键入 game。

    当您创建项目时,Visual Studio 会将该项目放入一个解决方案。 默认情况下,解决方案的名称与项目名称相同。 接受该名称。

    您可以接受默认位置、键入一个不同的位置或者浏览到要保存项目的目录。

    单击**“确定”启动“Win32 应用程序向导”**。

  4. 在**“Win32 应用程序向导”“概述”页上,单击“下一步”**。

  5. 在**“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。 在“附加选项”下选择“空项目”设置。 单击“完成”**。

    现在有了项目,但项目还没有源代码文件。

使用解决方案资源管理器

**“解决方案资源管理器”**可帮助您使用解决方案中的文件和其他资源。

在本节中,您将向项目中添加一个类,并且 Visual Studio 将添加 .h 和 .cpp 文件。 然后,为测试类的主程序向项目添加一个新的源代码文件。

向项目添加类

  1. 如果未显示**“解决方案资源管理器”,请在“视图”菜单上,单击“解决方案资源管理器”**。

  2. 在**“解决方案资源管理器”中,右击“头文件”文件夹,指向“添加”,然后单击“类”**。

    在**“Visual C++”类别中,单击“C++”,在“Visual Studio 已安装的模板”区域中单击“C++ 类”,然后单击“添加”**。

  3. 在**“一般 C++ 类向导”中,键入 Cardgame 作为“类名”,并接受默认的文件名和设置。 单击“完成”**。

  4. 对已在编辑区域中打开的 Cardgame.h 文件进行以下更改:

    • 在类定义的左大括号之后添加两个私有数据成员。

      int players;
      static int totalparticipants;
      
    • 添加一个采用类型为 int 的参数之一的公共构造函数原型。

      Cardgame(int p);
      
    • 删除 Visual Studio 生成的默认构造函数。 默认构造函数是没有参数的构造函数。 该默认构造函数类似于:

      Cardgame(void);
      
  5. 在您对 Cardgame.h 文件进行更改之后,该文件应类似于:

    #pragma once
    class Cardgame
    {
            int players;
            static int totalparticipants;
        public:
            Cardgame(int p);
            ~Cardgame(void);
    };
    

    #pragma once 行指明编译器只包含该文件一次。 有关更多信息,请参见once

    有关此头文件中的其他 C++ 关键字的信息,请参见 class (C++)intStatic (C++)public (C++)

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

  7. 在 #include "Cardgame.h" 之后,添加以下各行。

    #include <iostream>
    using namespace std;
    
  8. 为采用一个 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 的操作。

  9. 删除 Visual Studio 生成的以下默认构造函数。

    Cardgame::Cardgame(void);
    
  10. 在您对 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++)

添加源文件

现在,为测试类的主程序添加一个源代码文件。

添加新源文件

  1. 在**“解决方案资源管理器”中,右击“源文件”文件夹,指向“添加”,然后单击“新建项”**。

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

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

  3. 在 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++)

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

    来自生成的输出应显示在**“输出”**窗口中。 这表示项目已编译,并且未发生错误。 如果未显示输出,请将您的代码与前面步骤中提供的代码进行比较。

后续步骤

上一部分:Visual Studio IDE 简介 (C++)下一部分: 演练:生成项目 (C++)

请参见

任务

Visual C++ 指导教程

其他资源

管理解决方案、项目和文件