C++

C++の関数について解説

C++の関数は、特定のタスクを実行するためのコードブロックです。関数を使用することで、コードの再利用性が向上し、プログラムの構造がわかりやすくなります。以下に、C++の関数について詳しく解説します。

関数の基本構造

C++の関数は、関数の戻り値の型、関数名、引数リスト、そして関数本体で構成されます。

構文

戻り値の型 関数名(引数リスト) {
    // 関数本体
}

#include <iostream>
using namespace std;

// 2つの整数を加算する関数
int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(5, 3);
    cout << "The sum is: " << result << endl;
    return 0;
}

関数の定義と呼び出し

関数の定義

関数の定義は、関数がどのように動作するかを記述します。上記の例では、add関数が2つの整数を加算してその結果を返します。

関数の呼び出し

関数の呼び出しは、関数名に続けて引数を渡すことで行います。上記の例では、add(5, 3)が関数呼び出しです。

戻り値の型

関数の戻り値の型は、関数が返す値の型を指定します。戻り値がない場合は、void型を使用します。

#include <iostream>
using namespace std;

// 戻り値がない関数
void printMessage() {
    cout << "Hello, World!" << endl;
}

int main() {
    printMessage();
    return 0;
}

引数

関数には、任意の数の引数を渡すことができます。引数リストは、各引数の型と名前をカンマで区切って指定します。

#include <iostream>
using namespace std;

// 2つの整数を比較して大きい方を返す関数
int max(int a, int b) {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}

int main() {
    int larger = max(10, 20);
    cout << "The larger number is: " << larger << endl;
    return 0;
}

デフォルト引数

C++では、関数の引数にデフォルト値を指定することができます。デフォルト引数は、関数プロトタイプで指定します。

#include <iostream>
using namespace std;

// デフォルト引数を持つ関数
void greet(string name = "Guest") {
    cout << "Hello, " << name << "!" << endl;
}

int main() {
    greet("Alice");
    greet();
    return 0;
}

オーバーロード

関数のオーバーロードとは、同じ名前の関数を異なる引数リストで定義することです。オーバーロードされた関数は、呼び出し時に渡された引数に基づいて適切な関数が選択されます。

#include <iostream>
using namespace std;

// 2つの整数を加算する関数
int add(int a, int b) {
    return a + b;
}

// 2つの浮動小数点数を加算する関数
double add(double a, double b) {
    return a + b;
}

int main() {
    cout << "The sum of 5 and 3 is: " << add(5, 3) << endl;
    cout << "The sum of 2.5 and 3.7 is: " << add(2.5, 3.7) << endl;
    return 0;
}

再帰

再帰関数とは、自分自身を呼び出す関数のことです。再帰は、特定の問題を再帰的に解決するために使用されます。

#include <iostream>
using namespace std;

// 階乗を計算する再帰関数
int factorial(int n) {
    if (n <= 1) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}

int main() {
    int num = 5;
    cout << "Factorial of " << num << " is: " << factorial(num) << endl;
    return 0;
}

まとめ

C++の関数は、特定のタスクを実行するためのコードブロックです。関数を使用することで、コードの再利用性が向上し、プログラムの構造がわかりやすくなります。C++の関数には、戻り値の型、引数、デフォルト引数、オーバーロード、再帰などの多くの機能があります。

スポンサーリンク

-C++