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

الـ Namespaces والـ Scope

جزء من قسم Object Oriented Programming في رحلة C++ على Coddy — الدرس 4 من 104.

تقوم مساحات الأسماء (Namespaces) بتجميع الأكواد البرمجية ذات الصلة معاً وتمنع تعارض الأسماء. يقوم معامل دقة النطاق (scope resolution operator) :: بالوصول إلى العناصر الموجودة داخل مساحة الأسماء.

إنشاء مساحة اسم (namespace)

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

الوصول باستخدام عامل دقة النطاق ::

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

استخدام التوجيه لتجنب كتابة مساحة الاسم في كل مرة

using namespace MathTools;
int result = add(5, 3);  // مماثل لـ MathTools::add(5, 3)

نطاق الأسماء std

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

تنظم مساحات الأسماء (Namespaces) الكود وتمنع تصادم الأسماء. تحتوي مساحة الأسماء 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اختبر نفسك

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

جميع دروس Object Oriented Programming