メソッドの紹介
ヘッダーファイルで呼び出す必要のある複数のサブ関数を宣言できます。具体的には:
1.ソースファイル(A.cpp)に記述されている関数の定義
2.関数宣言をヘッダーファイル(Bh)に書き込みます(必ずしもソースファイルと同じ名前である必要はありません)。
3.ソースファイル(A.cpp)とこれらの関数を使用するソースファイルに#include "Bh"を追加します
例:サブ関数が文字列を参照している場合は、名前空間stdを使用してヘッダーファイルに直接追加できます:
#include <string>したがって、メインファイルでこれらのヘッダーファイルを引用する必要はありません。
あなたがいる場合宣言し、ヘッダファイルに関数を定義し、二つの方法があります:
1.宣言し、他のファイルのヘッダファイルを参照し、ヘッダファイルで直接これらのサブ関数を定義し、あなたは時に対応するヘッダファイルを追加する必要がありますコンパイル;
2。ヘッダーファイルでこれらのサブ関数を宣言してから、サブ関数のcppファイルにこれらのサブ関数の定義を書き込み、同時にヘッダーファイルを引用します。サブ関数を使用するには、対応するcppファイル内の対応するヘッダーファイルを引用するだけで済みます。コンパイル時に対応するヘッダーファイルとcppファイルを追加する必要があります。
注:
1。ヘッダーファイルで宣言されたサブ関数を使用する場合は、ヘッダーファイルを参照する対応するcppファイルの先頭に外部サブ関数を参照する宣言を追加する必要があります(ヘッダーファイルが引用):
extern int func1(int var1、string str1);
extern int func2(int var2、string str2);
......
2.ヘッダーファイルが繰り返し呼び出されないようにするには、追加する必要があります。ヘッダーファイルの最初と最後で繰り返し呼び出されないようにする条件付きコンパイルスイッチ:
#ifndef XXX_H
#define XXX_H
......
#endif
例1
ファイルfu.cpp
#include "Funs.h"
/*求两个数的最大值函数*/
int max(int a, int b)
{
return a > b ? a : b;
}
ファイルFuns.h
#pragma once
#ifndef FUNS_H
#define FUNS_H
/*求两个数的最大值函数*/
int max(int, int);
#endif
ファイルmain.cpp
#include <stdio.h>
#include "Funs.h"
int main()
{
int a = 12, b = 9;
int c = max(a, 9);
printf("%d和%d中的最大值为:%d\n", a, b, c);
return 0;
}
例2
ヘッダーファイル(ah)を記述して、呼び出し元ファイル(fun.cpp)で関数を宣言します。次に、main関数が配置されているファイル(main.cpp)内のヘッダーファイルを引用します。以下に示すように:
ファイルfun.cpp
#include "Funs.h"
int display(int a,int b)
{
cout<<a+b<<endl;
return 0;
}
ファイルああ
#pragma once
#ifndef A_H
#define A_H
#include <iostream>
int display(int ,int );
#endif
ファイルmain.cpp
#include "a.h"
int main()
{
int a=2,b=3;
display(a,b);
return 0;
}
数行書くだけです。元のソースファイルにない関数を使用する場合は、他のファイルをインクルードするためのファイルインクルード方法が必要です。ヘッダーファイルに注意し、繰り返さないでください。
例3
リンク:https://blog.csdn.net/qq_42292831/article/details/82856633?ops_request_misc =%257B%2522request%255Fid%2522%253A%2522161457592716780261921811%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255 。%2522%257D&request_id = 161457592716780261921811&biz_id = 0&utm_medium = distribution.pc_search_result.none-task-blog-2〜all〜first_rank_v2〜rank_v29-5-82856633.pc_search_result_cache&utm_term = c%2B%2B +%E5%9C%BB BD%E6%95%B0%E6%96%87%E4%BB%B6%E4%B8%AD%E8%B0%83%E7%94%A8%E5%85%B6%E4%BB%96% E5%87%BD%E6%95%B0%E6%96%87%E4%BB%B6