Пошаговое руководство. Работа с проектами и решениями (C++)

В этой статье описано, как создать проект C++ в Visual Studio, добавить код, а затем выполнить сборку и запуск проекта. Проект в этом пошаговом руководстве представляет собой программу, которая отслеживает количество игроков в различных карточных играх.

В Visual Studio для организации работы служат проекты и решения. Решение может содержать несколько проектов, например библиотеку DLL и ссылающийся на нее исполняемый файл. Дополнительные сведения см. в статье Solutions and Projects (Решения и проекты).

Перед началом работы

Для выполнения данного пошагового руководства требуется Visual Studio 2017 или более поздней версии. Если вам нужна копия, вот краткое руководство: Установка поддержки С++ в Visual Studio. Если вы еще не сделали этого, выполните приведенные ниже шаги после установки в рамках руководства "Hello, World", чтобы убедиться в правильности установки и работы компонентов C++.

Полезно владеть основами языка C++ и понимать назначение компилятора, компоновщика и отладчика. В руководстве также предполагается, что вы знакомы с Windows и умеете использовать меню и диалоговые окна.

Создание проекта

Чтобы создать проект, сначала выберите шаблон типа проекта. Для каждого типа проекта среда Visual Studio задает параметры компилятора и — в зависимости от типа — создает начальный код, который позже можно изменить. Следующие действия зависят от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.

Создание проекта в Visual Studio

  1. В главном меню выберите Файл >Создать >Проект, чтобы открыть диалоговое окно Создание проекта.

  2. В верхней части диалогового окна задайте для параметра Язык значение C++, для параметра Платформа значение Windows, а для Типа проекта — Консоль.

  3. В отфильтрованном списке типов проектов щелкните Консольное приложение, а затем нажмите кнопку Далее. На следующей странице введите имя проекта Игра.

    Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.

    При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.

  4. Нажмите кнопку Создать, чтобы создать проект.

    Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.

Создание проекта в Visual Studio 2017

  1. В строке меню выберите Файл>Создать>Проект.

  2. В левой области диалогового она Новый проект разверните узел Установленные и выберите Visual C++ , если он еще не открыт.

  3. В списке установленных шаблонов в центральной области выберите Консольное приложение.

  4. В поле Имя введите имя проекта. Для этого примера введите Game (Игра).

    Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.

    При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.

  5. Нажмите кнопку ОК, чтобы создать проект.

    Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.

Создание проекта в Visual Studio 2015

  1. В строке меню выберите Файл>Создать>Проект.

  2. В левой области диалогового она Новый проект разверните узел Установленные и выберите Visual C++ , если он еще не открыт.

  3. В списке установленных шаблонов в центральной области выберите шаблон Консольное приложение Win32.

  4. В поле Имя введите имя проекта. Для этого примера введите Game (Игра).

    Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.

    При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.

  5. Нажмите кнопку ​​ОК, чтобы закрыть диалоговое окно Новый проект, и запустите мастер приложений Win32.

  6. В мастере нажмите кнопку Далее . На странице Параметры приложения в разделе Дополнительные параметрыснимите флажок Предкомпилированный заголовок .

  7. Нажмите кнопку Готово , чтобы создать проект.

    Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.

Упорядочение файлов и проектов

Для организации проектов, файлов и других ресурсов в решении, а также для управления ими можно использовать обозреватель решений.

В этой части пошагового руководства описывается добавление класса в проект. При добавлении класса Visual Studio добавляет соответствующие H- и CPP-файлы. Результаты отображаются в обозревателе решений.

Добавление класса в проект

  1. Если окно Обозреватель решений не отображается в Visual Studio, выберите в строке меню Вид>Обозреватель решений.

  2. Выберите проект Game в обозревателе решений. В строке меню выберите Проект>Добавить класс.

  3. В диалоговом окне Добавление класса в поле Имя класса введите значение Cardgame. Не изменяйте имена файлов и параметры по умолчанию. Нажмите кнопку ОК .

    Visual Studio создает файлы и добавляет их в проект. Вы можете просмотреть их в обозревателе решений. Visual Studio откроет файлы Cardgame.h и Cardgame.cpp в редакторе.

  4. Внесите в файл Cardgame.h следующие изменения.

    • После открывающей скобки определения класса добавьте два частных элемента данных.

      int players;
      static int totalParticipants;
      
    • Измените конструктор по умолчанию, созданный средой Visual Studio. После описателя доступа public: найдите строку, которая выглядит следующим образом:

      Cardgame();

      Измените конструктор, чтобы он принимает один параметр типа intс именем players.

      Cardgame(int players);

    • После деструктора по умолчанию добавьте встроенное объявление для функции-члена static int с именем GetParticipants , которая не принимает параметров и возвращает totalParticipants значение .

      static int GetParticipants() { return totalParticipants; }

    После изменения файл Cardgame.h должен выглядеть примерно так:

    #pragma once
    class Cardgame
    {
        int players;
        static int totalParticipants;
    public:
        Cardgame(int players);
        ~Cardgame();
        static int GetParticipants() { return totalParticipants; }
    };
    

    Строка #pragma once указывает компилятору включить файл заголовка только один раз. Для получения дополнительной информации см. once. Сведения о других ключевых словах C++ в файле заголовка см. в разделе class, int, staticи public.

  5. Перейдите на вкладку Cardgame.cpp в верхней части области редактирования, чтобы открыть этот файл для внесения изменений.

  6. Удалите весь код в файле и замените его следующим кодом:

    #include "Cardgame.h"
    #include <iostream>
    
    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.\n";
    }
    
    Cardgame::~Cardgame()
    {
    }
    

    Примечание

    При вводе кода можно использовать автозавершение. Например, при вводе кода с клавиатуры можно ввести pl или tot и нажать клавиши Ctrl+Пробел. Функция автозавершения автоматически вводит players или totalParticipants.

Добавление тестового кода в функцию main

Добавьте в приложение код, тестирующий новые функции.

Добавление тестового кода в проект

  1. В окне редактора Game.cpp замените существующий код следующим:

    // Game.cpp : Defines the entry point for the console application.
    //
    
    #include "Cardgame.h"
    #include <iostream>
    
    using namespace std;
    
    void PlayGames()
    {
        Cardgame bridge(4);
        Cardgame blackjack(8);
        Cardgame solitaire(1);
        Cardgame poker(5);
    }
    
    int main()
    {
        PlayGames();
        return 0;
    }
    

    Этот код добавляет в исходный код функцию тестирования PlayGames и вызывает ее в main.

Сборка и запуск проекта приложения

Затем выполните сборку проекта и запустите приложение.

Построение и запуск проекта

  1. В строке меню последовательно выберите Сборка>Собрать решение.

    Выходные данные сборки выводятся в окне Вывод. Если сборка пройдет успешно, выходные данные должны выглядеть следующим образом:

    1>------ Build started: Project: Game, Configuration: Debug Win32 ------
    1>pch.cpp
    1>Cardgame.cpp
    1>Game.cpp
    1>Generating Code...
    1>Game.vcxproj -> C:\Users\<username>\source\repos\Game\Debug\Game.exe
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    

    В окне Вывод в зависимости от конфигурации сборки могут отображаться различные шаги, но если сборка проекта завершается успешно, то последняя строка выходных данных должна выглядеть так, как показано выше.

    Если сборка завершилась неудачей, сравните свой код с образцами в предыдущих действиях.

  2. Чтобы запустить проект, в строке меню выберите Отладка>Запуск без отладки. Появится консольное окно, а результат выполнения должен выглядеть примерно следующим образом:

    4 players have started a new game.  There are now 4 players in total.
    8 players have started a new game.  There are now 12 players in total.
    1 players have started a new game.  There are now 13 players in total.
    5 players have started a new game.  There are now 18 players in total.
    

    Для закрытия консольного окна нажмите любую клавишу.

Вы успешно выполнили сборку проекта приложения и решения. Продолжайте выполнять пошаговое руководство, чтобы получить дополнительные сведения о сборке проектов кода C++ в Visual Studio.

Дальнейшие действия

Назад:Использование интегрированной среды разработки Visual Studio для разработки классических приложений на языке C++.
Далее:Пошаговое руководство. Сборка проекта (C++).

См. также

Справочник по языку C++
Проекты и системы сборки