C++学習サブファイル実装クラス

序文

C++ で大規模なプログラムを作成する場合、すべてのコードを 1 つのファイルに含めると煩雑になり、保守が困難になる可能性があります。コードをより適切に整理し、保守性を向上させるために、個別コンパイルの概念を使用できます。

文章

私のcircle.hファイル

#pragma once
#include<iostream>

using namespace std;

class circle
{

public:
	void set_R(int len);

private:
	int R;
};

私のcircle.cppファイル

#include"circle.h"

void circle::set_R(int len)
{
	R = len;
}

私のmain.cppファイル

#pragma once
#include<iostream>
using namespace std;
#include"circle.h"

int main()
{
	circle one;
	one.set_R(10);
}

説明する

ファイルベースの実装の主なアイデアは、クラスの宣言と実装を別のファイルに置くことです。これにより、コードの構造がきれいに保たれ、各ファイルの責任がより明確になります。この例では、circle.h、circle.cpp、main.cpp の 3 つのファイルを使用して、分割ファイルの実装を示しました。

Circle.h: これはヘッダー ファイルで、通常はクラスの宣言が含まれています。ここでは、circleクラスを定義し、その中でメンバ関数set_Rとメンバ変数Rを宣言しています。ヘッダー ファイルには、二重インクルードを回避しながらヘッダー ファイル内の宣言を他のファイルで使用するために必要な #include ディレクティブも含まれています。

Circle.cpp: ヘッダー ファイルで宣言されたメンバー関数を実装するソース ファイルです。ここでは、circle::set_R 関数が実装されており、パラメーターの値が R メンバー変数に割り当てられます。実装を別のソース ファイルに分割することで、ヘッダー ファイルで実装の詳細が多すぎることが回避されます。

main.cpp: これは、実際に円オブジェクトを作成して使用するメインのプログラム ファイルです。ここでは、circle クラスの宣言を使用できるように、circle.h ヘッダー ファイルがインクルードされています。次に、main 関数で円オブジェクトが作成され、その set_R 関数が呼び出されて半径値が設定されます。

サブファイル実装の利点は次のとおりです。

モジュール性: 各ファイルは特定の機能に焦点を当てており、コードの理解と保守が容易になります。
再利用性: ヘッダー ファイルを組み込み、対応するソース ファイルをコンパイルすることで、クラスを他のプロジェクトで簡単に再利用できます。
コンパイル時間の最適化: 1 つのソース ファイルを変更すると、他のソース ファイルを再コンパイルする必要がなくなり、コンパイル時間が短縮されます。
実装の詳細の非表示: 必要なインターフェイスのみがヘッダー ファイルで公開されるため、クラスの実装の詳細が非表示になり、カプセル化が強化されます。
結論として、分割ファイルの実装は、より組織化され保守しやすいコードを作成するのに役立つ、優れたプログラミング手法です。

おすすめ

転載: blog.csdn.net/wniuniu_/article/details/132619089