Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الـ Namespaces والـ Scope

جزء من قسم البرمجة كائنية التوجه في رحلة C++ على Coddy. الدرس 4 من 104.

تجمع مساحات الأسماء الشيفرة ذات الصلة معًا وتمنع تعارضات التسمية. يصل عامل :: الخاص بـ scope resolution إلى العناصر الموجودة داخل namespace.

إنشاء namespace

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

الوصول باستخدام scope resolution ::

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

توجيه using لتجنب كتابة namespace في كل مرة

using namespace MathTools;
int result = add(5, 3);  // نفس MathTools::add(5, 3)

مساحة namespace ‏std

std::cout << "Hello" << std::endl;
// أو
using namespace std;
cout << "Hello" << endl;

تنظّم مساحات الأسماء الشيفرة وتمنع تعارضات التسمية. تحتوي مساحة الأسماء std على جميع ميزات مكتبة C++ القياسية مثل cout وcin وstring وendl.

challenge icon

التحدي

متوسط

أنشئ دوال داخل مساحة الأسماء MathTools:

  • add(int a, int b): تُرجع المجموع
  • multiply(int a, int b): تُرجع حاصل الضرب

صرّح عنها في MathTools.h ونفّذها في MathTools.cpp.

جرّب بنفسك

#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اختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس البرمجة كائنية التوجه

تدرّب بنفسك: مترجم C++ عبر الإنترنت