概要
今回はクラスの定義をmain関数などと分割して記述する方法を紹介します。
メリット
前回まではクラスの定義をmain関数と同じファイルに記述していました。
しかし、クラスの定義は別ファイルにヘッダーとして記述することができます。これにより、
- 他のヘッダーファイルからも利用できる。
- 見やすくなる
等のメリットがあります。
方法
まず、「vector2.h」というファイルを作成して前回までに作成したクラス「Vector2」の中身を記述します。
ただし、このヘッダーファイルはmain関数を記述するファイルと同じ階層に作成しています。
#pragma once //クラスの宣言 class Vector2 { public: double x, y; //デフォルトコンストラクタ Vector2() { x = 0; y = 0; } Vector2(const double& _x, const double& _y) { set(_x, _y); } //値設定のための関数 void set(const double& _x, const double& _y) { x = _x; y = _y; } };
続いて、main関数を記述したファイル「main.cpp」では
#include "vector2.h"
とすることで利用することができます。
動作確認
#include <iostream> #include "vector2.h" int main() { Vector2 vec2(2, 3); //表示 std::cout << "(" << vec2.x << ", " << vec2.y << ")" << std::endl; }
実行結果
(2, 3)