チュートリアル: プロジェクトとソリューションの使用 (C++)

ここでは、Visual Studio で C++ プロジェクトを作成し、コードを追加し、プロジェクトをビルドして実行する方法について説明します。 このチュートリアルのプロジェクトは、何人のプレーヤーが各種のカード ゲームを実行しているを追跡するプログラムです。

Visual Studio では、作業内容はプロジェクトとソリューションに整理されます。 ソリューションには、DLL とその DLL を参照する実行可能ファイルなど、複数のプロジェクトを含めることができます。 詳しくは、「ソリューションおよびプロジェクト」をご覧ください。

開始する前に

このチュートリアルを完了するには、Visual Studio 2017 以降が必要です。 コピーが必要な場合、以下の簡易ガイドを参照してください。Visual Studio に C++ サポートをインストールします。 まだ行っていない場合は、"Hello, World" チュートリアルでインストールした後に、次の手順に従って、C++ コンポーネントが正しくインストールされ、すべてが機能していることを確認します。

C++ 言語の基本を理解していて、コンパイラ、リンカー、およびデバッガーの用途を知っている場合に役立ちます。 また、チュートリアルでは、Windows とメニュー、ダイアログの使用方法に精通していることを前提としています。

プロジェクトを作成する

プロジェクトを作成するには、まずプロジェクトの種類のテンプレートを選択します。 プロジェクトのそれぞれの種類で、Visual Studio はコンパイラの設定と、その種類に応じて、後で変更できるスタート コードを生成します。 次の手順は、使用している Visual Studio のバージョンによって異なります。 優先するバージョンの Visual Studio のドキュメントを表示するには、 [バージョン] セレクター コントロールを使用します。 このページの目次の一番上にあります。

Visual Studio でプロジェクトを作成するには

  1. メイン メニューで、[ファイル]>[新規作成]>[プロジェクト] の順に選択して、[新しいプロジェクトの作成] ダイアログ ボックスを開きます。

  2. ダイアログの上部で、[言語][C++] に、[プラットフォーム][Windows] に、[プロジェクト タイプ][コンソール] に設定します。

  3. フィルター処理されたプロジェクト タイプの一覧から、 [コンソール アプリ] を選択して、 [次へ] を選択します。 次のページで、プロジェクトの名前として「Game」と入力します。

    [場所] ドロップダウン リストに表示される既定の場所をそのまま使用するか、別の場所を入力するか、または [参照] を選択してプロジェクトを保存するディレクトリを参照できます。

    プロジェクトを作成すると、Visual Studio により、そのプロジェクトがソリューションに配置されます。 既定では、ソリューション名はプロジェクト名と同じです。 [ソリューション名] ボックスの名前を変更できますが、この例では既定の名前を使用します。

  4. [作成] ボタンをクリックしてプロジェクトを作成します。

    Visual Studio により新しいソリューションとプロジェクト ファイルが作成され、生成された Game.cpp ソース コード ファイルのエディターが開かれます。

Visual Studio 2017 でプロジェクトを作成するには

  1. メニュー バーで、 [ファイル]>[新規作成]>[プロジェクト] を選択します。

  2. [新しいプロジェクト] ダイアログ ボックスの左ウィンドウで、 [インストール済み] を展開し、 [Visual C++] を選択します (まだ開いていない場合)。

  3. 中央のウィンドウのインストールされたテンプレートの一覧で、[コンソール アプリ] を選択します。

  4. [名前] ボックスにプロジェクトの名前を入力します。 この例では「Game」と入力します。

    [場所] ドロップダウン リストに表示される既定の場所をそのまま使用するか、別の場所を入力するか、または [参照] を選択してプロジェクトを保存するディレクトリを参照できます。

    プロジェクトを作成すると、Visual Studio により、そのプロジェクトがソリューションに配置されます。 既定では、ソリューション名はプロジェクト名と同じです。 [ソリューション名] ボックスの名前を変更できますが、この例では既定の名前を使用します。

  5. [OK] ボタンを選択すると、プロジェクトが作成されます。

    Visual Studio により新しいソリューションとプロジェクト ファイルが作成され、生成された Game.cpp ソース コード ファイルのエディターが開かれます。

Visual Studio 2015 でプロジェクトを作成するには

  1. メニュー バーで、 [ファイル]>[新規作成]>[プロジェクト] を選択します。

  2. [新しいプロジェクト] ダイアログ ボックスの左ウィンドウで、 [インストール済み] を展開し、 [Visual C++] を選択します (まだ開いていない場合)。

  3. 中央のウィンドウのインストールされたテンプレートの一覧で、 [Win32 コンソール アプリケーション] を選択します。

  4. [名前] ボックスにプロジェクトの名前を入力します。 この例では「Game」と入力します。

    [場所] ドロップダウン リストに表示される既定の場所をそのまま使用するか、別の場所を入力するか、または [参照] を選択してプロジェクトを保存するディレクトリを参照できます。

    プロジェクトを作成すると、Visual Studio により、そのプロジェクトがソリューションに配置されます。 既定では、ソリューション名はプロジェクト名と同じです。 [ソリューション名] ボックスの名前を変更できますが、この例では既定の名前を使用します。

  5. [OK] ボタンを選択して [新しいプロジェクト] ダイアログを閉じ、 [Win32 アプリケーション ウィザード] を起動します。

  6. ウィザードで、[次へ] ボタンを選択します。 [アプリケーションの設定] ページの [追加のオプション]で、 [プリコンパイル済みヘッダー] のチェック ボックスをオフにします。

  7. [完了] をクリックすると、プロジェクトが作成されます。

    Visual Studio により新しいソリューションとプロジェクト ファイルが作成され、生成された Game.cpp ソース コード ファイルのエディターが開かれます。

プロジェクトとファイルを整理する

ソリューション エクスプローラーを使用して、ソリューションのプロジェクト、ファイル、その他のリソースを整理および管理できます。

ここでは、クラスをプロジェクトに追加する方法について説明します。 クラスを追加すると、Visual Studio は、対応する .h ファイルと .cpp ファイルを追加します。 結果はソリューション エクスプローラーで確認できます。

プロジェクトにクラスを追加するには

  1. Visual Studio でソリューション エクスプローラー ウィンドウが表示されない場合は、メニュー バーで [表示]>[ソリューション エクスプローラー] の順に選択します。

  2. ソリューション エクスプローラーGame プロジェクトを選択します。 メニュー バーで [プロジェクト]>[クラスの追加] の順に選択します。

  3. [クラスの追加] ダイアログ ボックスで、 [クラス名] ボックスに「Cardgame」と入力します。 既定のファイル名と設定を変更しないでください。 [OK] を選択します。

    Visual Studio により新しいファイルが作成され、プロジェクトに追加されます。 これらはソリューション エクスプローラー ウィンドウで確認できます。 Visual Studio によって、エディターで Cardgame.h ファイルと Cardgame.cpp ファイルが開きます。

  4. Cardgame.h ファイルを編集し、次の変更を行います。

    • クラス定義の左中かっこの後ろに、プライベート データ メンバーを 2 つ追加します。

      int players;
      static int totalParticipants;
      
    • Visual Studio で生成される既定のコンストラクターを変更します。 public: アクセス指定子の後で、次のような行を探します。

      Cardgame();

      このコンストラクターを、"players" という名前の型 int の 1 個のパラメーターを受け取るように変更します。

      Cardgame(int players);

    • 既定のデストラクターの後に、GetParticipants という名前の static int メンバー関数のインライン宣言を追加します。これは、パラメーターを受け取らず 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 は、1 回だけヘッダー ファイルを含むようにコンパイラに指示します。 詳細については、「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+Space キーを押すことができます。 オート コンプリートにより 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.
    

    コンソール ウィンドウを閉じるにはキーを押します。

これでアプリ プロジェクトとソリューションが正常にビルドされました。 Visual Studio で C++ コード プロジェクトをビルドする方法についてさらに学習するには、チュートリアルを続行します。

次のステップ

前へ: C++ デスクトップ開発のための Visual Studio IDE の使用
次へ: チュートリアル: プロジェクトの構築 (C++)

関連項目

C++ 言語リファレンス
プロジェクトおよびビルド システム