Menu
Coddy logo textTech

名前空間とスコープ

CoddyのC++ジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 4/104。

名前空間は、関連するコードをグループ化し、名前の衝突を防ぎます。:: スコープ解決演算子は、名前空間内のアイテムにアクセスするために使用されます。

名前空間の作成

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

スコープ解決演算子 :: によるアクセス

int result = MathTools::add(5, 3);  // result = 8

毎回名前空間を入力するのを避けるために、usingディレクティブを使用します

using namespace MathTools;
int result = add(5, 3);  // MathTools::add(5, 3) と同じです

std 名前空間

std::cout << "Hello" << std::endl;
// または
using namespace std;
cout << "Hello" << endl;

名前空間はコードを整理し、名前の衝突を防ぎます。std 名前空間には、coutcinstringendl などのすべての C++ 標準ライブラリの機能が含まれています。

challenge icon

チャレンジ

中級

MathTools名前空間内に関数を作成してください:

  • add(int a, int b) — 和を返します
  • multiply(int a, int b) — 積を返します

これらをMathTools.hで宣言し、MathTools.cppで実装してください。

チートシート

名前空間は、関連するコードをグループ化し、名前の衝突を防ぎます。スコープ解決演算子 :: は、名前空間内の項目にアクセスするために使用されます。

名前空間の作成:

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

スコープ解決 :: を使用したアクセス:

int result = MathTools::add(5, 3);  // result = 8

毎回名前空間を入力するのを避けるための using ディレクティブの使用:

using namespace MathTools;
int result = add(5, 3);  // MathTools::add(5, 3) と同じ

std 名前空間には、coutcinstring、および endl のようなすべての C++ 標準ライブラリ機能が含まれています:

std::cout << "Hello" << std::endl;
// または
using namespace std;
cout << "Hello" << endl;

自分で試してみよう

#include <iostream>
#include "MathTools.h"

int main() {
    int a, b;
    std::cin >> a >> b;
    
    std::cout << "Add: " << MathTools::add(a, b) << std::endl;
    std::cout << "Multiply: " << MathTools::multiply(a, b) << std::endl;
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

オブジェクト指向プログラミングのすべてのレッスン