CodeBlanks Logo Icon CodeBlanks

namespace tanımlama

namespace ile ad alanı tanımlamayı öğrenirsin.

namespace ile ad alanı

Büyük projelerde aynı isimli işlev veya değişkenler çakışabilir. C++ bu sorunu namespace ile çözer; ilgili bildirimleri bir ad alanı altında gruplandırırsın.

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

Burada add işlevi math ad alanının içindedir. Dışarıdan çağırmak için math::add(2, 3) yazarsın. :: kapsam çözümleme operatörüdür ve ad alanındaki öğeye erişmeyi sağlar.

Kapsam çözümleme operatörü

Bir ad alanının içindeki öğeye dışarıdan erişmek için :: operatörünü kullanırsın. Ad alanı adı önce, öğe adı sonra yazılır.

int n = math::add(2, 3);  // n = 5

Burada math::add, math ad alanındaki add işlevini çağırır. Bu operatör aynı zamanda sınıf üyelerine ve global değişkenlere erişmek için de kullanılır. Ad alanları iç içe olduğunda zincirleme yazılır: outer::inner::foo().

Uygulama math ad alanı ve çağrı

namespace math tanımla. İçinde int add(int a, int b) { return a + b; } işlevini yaz. main içinde int n = math::add(2, 3); ile çağır, cout << n << endl; yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
using namespace std;

// math ad alanını tanımla

int main() {
    // ad alanındaki işlevi çağır ve yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
using namespace std;

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

int main() {
    int n = math::add(2, 3);
    cout << n << endl;
    return 0;
}

Beklenen çıktı

5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir ad alanı tanımlamak için hangi anahtar sözcük kullanılır?

  • package
  • module
  • namespace Doğru cevap
  • scope

Açıklama: C++'ta ad alanı namespace ile tanımlanır.

2 Boşluğu doldur: ad alanı çağrısı

Soru
int n = math____:add(2, 3);
Cevap
int n = math::add(2, 3);

Açıklama: operatörü ad alanındaki öğeye eriştirir.

3 İfadeyi amacıyla eşleştir

Kavram Anlamı
namespace math ad alanı tanımlar
math::add içteki işlevi çağırır
:: kapsam operatörü

Başlangıç bölümündeki tüm dersler