【C++】クラスの宣言とクラスの実装を分離する①(クラス宣言とクラス実装の共通の使い方|Visual Studio 2019でクラスのヘッダーファイルとソースファイルを作成|ヘッダーファイルは一度インクルードするようにする) )





1. クラス宣言とクラス実装を分離する




1. クラス宣言とクラス実装の共通使用法


前回のブログでは、クラス class を定義し、クラスを定義した時点で実装も完了しました。

ただし、実際の C++ 言語の開発では、ほとんどの場合、クラスの宣言がクラスの実装から分離されているため、プログラム コードがより明確になり、管理と保守が容易になります。

  • ヘッダー ファイルにクラス宣言コードを .h 接尾辞を付けて記述します。
  • クラスの実装コードをソース コード ファイルに .cpp 接尾辞を付けて書き込みます。

上記の .h 接尾辞が付いたヘッダー ファイルと .cpp 接尾辞が付いたソース コード ファイルは、手動で作成して追加することも、IDE に付属のクラス作成機能を使用して追加することもできます。

ここでは後者をお勧めします。次の章では、Visual Studio 2019 でクラスを作成する方法について説明します。


2. Visual Studio 2019でクラスのヘッダーファイルとソースファイルを作成する


「ソリューション エクスプローラー」でソリューション名を右クリックし、ポップアップ メニューから選択します。

「追加/クラス」オプション、

ここに画像の説明を挿入します

ポップアップの [クラスの追加] ダイアログ ボックスで、クラス名 Student を入力すると、ヘッダー ファイル名と Student.h および Student.cpp のソース ファイル名が自動的に生成されます。

ここに画像の説明を挿入します

生成された Student.h ヘッダー ファイルの内容は次のとおりです。 このヘッダー ファイルでは、Student クラスが宣言されています。

#pragma once
class Student
{
    
    
};

ここに画像の説明を挿入します

生成された Student.cpp ソース コード ファイルは次のとおりです。このソース コード ファイルにクラスを実装します。

#include "Student.h"

ここに画像の説明を挿入します


3. Student.h クラスヘッダーファイルの分析


#pragma onceコードの役割は、ヘッダー ファイルがプログラム全体に 1 回だけ含められるようにすることです。

// 确保 该头文件 只包含一次
#pragma once

上記#pragma onceコードと以下のコードの機能は同じですが、C言語ではマクロ定義の方法のみでincludeの二次インクルードを防ぐことができます。

#ifndef __Student_H_
#define __Student_H_

// 源码主要内容

#endif // !__Student_H_

C++ では ; を使用できます。


生成されたデフォルト クラスにはクラス名が 1 つだけあり、他の内容はありません。

class Student
{
    
    
};

4. ヘッダー ファイルが一度インクルードされていることを確認します。


ヘッダー ファイルが一度インクルードされることを確認する方法:

  • C++ 言語: C++ 言語では、#pragma Once または #ifndef _ St​​udent_Hを使用して、ヘッダー ファイルが 1 回だけインクルードされるようにすることができます。
#pragma once
class Student
{
    
    
};
  • C 言語: C 言語では、#ifndef _ St​​udent_Hを使用して、ヘッダー ファイルが 1 回だけインクルードされるようにします。
#ifndef __Student_H_
#define __Student_H_

class Student
{
    
    
};

#endif // !__Student_H_

おすすめ

転載: blog.csdn.net/han1202012/article/details/132781612