私はC++を学んでいますが、次の答えが見つかりません。
ユーザー入力から2つの数値の結果を計算する数式があります。
- この式を含むヘッダーファイル( ".h")はどのように表示されますか?
- ソースコード( ".cpp")から数式を取得するにはどうすればよいですか?
- 結果をソースコード( ".cpp")に渡すにはどうすればよいですか?
昔の人にとって、これはトピックではありません。C ++に関する優れたチュートリアルはどこにありますか?
ご挨拶、ディノ
私はC++を学んでいますが、次の答えが見つかりません。
ユーザー入力から2つの数値の結果を計算する数式があります。
昔の人にとって、これはトピックではありません。C ++に関する優れたチュートリアルはどこにありますか?
ご挨拶、ディノ
最高のチュートリアルは本で見つけることができます。SOには、優れた書籍の推奨事項を含む多数のトピックがあります。
C ++では、独立した関数は名前空間にグループ化するか、static
クラスメンバーとしてグループ化する必要があります(ただし、クラスに論理的に接続されている場合のみ)。
あなたの場合、私はと行きますnamespace
。それでも、3つの可能性があり、そのうち2つが好ましいです。
1)ヘッダーで関数を宣言し、ソースファイルで定義します。
//formulas.h
#ifndef FORMULAS_H
#define FORMULAS_H
namespace Formulas
{
int myFormula(int,int);
};
#endif
プリプロセッサディレクティブにはガードが含まれています(グーグルで検索できます)。この後、ソースファイルで定義します。
//formulas.cpp
#include "formulas.h"
namespace Formulas
{
int myFormula(int, int)
{
//....
return 42;
}
}
2)ヘッダーで関数を宣言および定義しますinline
(これにより、関数の複数の定義が防止されます)。通常、頻繁に呼び出される比較的小さな関数を使用して実行され、呼び出しのオーバーヘッドを防ぎ、より適切な最適化を可能にします。
//formulas.h
#ifndef FORMULAS_H
#define FORMULAS_H
namespace Formulas
{
inline int myFormula(int,int)
{
//...
return 42;
}
};
#endif
3)ヘッダーで関数を宣言して定義し、マークを付けstatic
ます。これは、ヘッダーを含む各変換ユニットの関数のコピーを作成するため、推奨されません。
関数を使用するには、宣言されているヘッダーを含めて呼び出すだけです。
ヘッダーファイル(* .h)
int add(int a, int b);
cppファイルの先頭にあるソースファイル(* .cpp)
#include "yourheader.h"
次に、cppファイルの任意の場所
...
int result=add(5,6);
...