工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++関数を実例で徹底解説:基本から応用まで

C++における関数とは

C++の関数は、入力を受け取り、処理を行い、結果を返す自己完結型のコードブロックです。繰り返し実行されるタスクを関数にカプセル化することで、コードの重複を避け、異なるパラメータを渡すだけでプログラム全体でロジックを再利用できます。

すべてのC++アプリケーションには最低1つの関数main()が含まれます。それ以外のコードは、より小さな目的別の関数に整理することで、可読性と保守性が向上します。

モダンC++では、標準ライブラリに豊富な組み込み関数が用意されています。これらは実装を自分で書くことなく直接呼び出せます。

このチュートリアルでは以下を学びます:

なぜ関数を使うのか

関数には複数の利点があります:

組み込み関数

標準ライブラリ関数は事前に定義されており、すぐに使用可能です。単に呼び出すだけで、実装を提供する必要はありません。

例1:cmathからsqrt()を使用

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double num, squareRoot;
    cout << "Enter number: ";
    cin >> num;
    squareRoot = sqrt(num);
    cout << "The square root of " << num << " is: " << squareRoot;
    return 0;
}

出力:

C++関数を実例で徹底解説:基本から応用まで

プログラム実行時のスクリーンショット:

C++関数を実例で徹底解説:基本から応用まで

コード解説:

  1. 入出力用にiostreamをインクルード。
  2. sqrt()関数にアクセスするためcmathをインクルード。
  3. 標準名のプレフィックスを避けるためstd名前空間を使用。
  4. プログラムロジックが存在するmain()関数を定義。
  5. numとsquareRootをdoubleで宣言。
  6. ユーザーに数値入力を促す。
  7. ユーザー入力をnumに読み込み。
  8. sqrt()を呼び出し、numの平方根を計算。
  9. 結果を表示。
  10. 正常終了を示す0を返却。

ユーザー定義関数

開発者は、アプリケーション固有のロジックをカプセル化するカスタム関数を作成できます。

例2:シンプルな挨拶関数

#include <iostream>
using namespace std;
void sayHello() {
    cout << "Hello!";
}
int main() {
    sayHello();
    return 0;
}

出力:

C++関数を実例で徹底解説:基本から応用まで

コードのスクリーンショット:

C++関数を実例で徹底解説:基本から応用まで

解説:

  1. コンソールI/O用にiostreamをインクルード。
  2. std名前空間をスコープに導入。
  3. 挨拶を出力するsayHello()関数を定義。
  4. main()からsayHello()を呼び出し。
  5. 正常終了を示す0を返却。

関数宣言 / プロトタイプ

関数がmain()より後に定義される場合、コンパイラは事前にそのシグネチャを知る必要があります。プロトタイプは関数本体なしでこの情報を提供します。

プロトタイプの例:

int addFunc(int, int);

戻り値の型、関数名、パラメータの型のみ必須。パラメータ名は省略可能。

関数定義

プロトタイプがコンパイラに関数のインターフェースを伝えるのに対し、定義は実行可能な本体を提供します。

定義の例:

int addFunc(int num1, int num2) {
    return num1 + num2;
}

構文

return_datatype function_name(parameter_list) {
    // function body
}

主要コンポーネント:

関数の呼び出し

関数を実行するには、名前で呼び出し、必要な引数を渡す必要があります。

呼び出し例:

int result = addFunc(3, 5);

引数の渡し方

引数は関数のパラメータリストと、個数と型の両方で一致する必要があります。不一致の引数はコンパイル時エラーになります。

デフォルトパラメータ値を指定すると、呼び出し側がそれらの引数を省略できるようになります。

例3:プロトタイプを使った2数の加算

#include <iostream>
using namespace std;
int addFunc(int, int); // プロトタイプ
int main() {
    int x, y, sum;
    cout << "Enter two numbers: ";
    cin >> x >> y;
    sum = addFunc(x, y);
    cout << "The sum of " << x << " and " << y << " is: " << sum;
    return 0;
}
int addFunc(int num1, int num2) {
    return num1 + num2;
}

出力:

C++関数を実例で徹底解説:基本から応用まで

スクリーンショット:

C++関数を実例で徹底解説:基本から応用まで

解説:

  1. 必要なヘッダーと名前空間をインクルード。
  2. addFunc()のプロトタイプを宣言。
  3. ユーザーから2つの整数を読み取り。
  4. それらの値でaddFunc()を呼び出し、結果を格納。
  5. 合計を表示。
  6. main()の後にaddFunc()を定義し、2つのパラメータを加算するロジックを提供。

まとめ

C言語

  1. C++ do-while文:構文、実践例、ネストしたループ
  2. C++ポインタをマスター:概念、例、実践的応用
  3. C++ char型をマスター:宣言、ASCII、変換テクニック
  4. C++演算子オーバーロード:コード例付き実践ガイド
  5. C言語のcalloc():ゼロ初期化メモリ割り当てと実践例
  6. C言語の関数マスター:構造、宣言、ベストプラクティス
  7. C++ポリモーフィズム完全理解:仮想関数と純粋仮想関数
  8. Verilog関数のマスター:効率的なRTL設計のために
  9. Pythonラムダ関数をマスターする:実例とベストプラクティス
  10. Python round()関数を実例で徹底解説
  11. Python map()関数をマスター:構文、例、ベストプラクティス