ما هي وظيفة( :: ) .. في الكتاب اللي بأقراه مكتوب لمنع الخلط بين أسماء المتغيرات.. وبارامترات الدوال ؟؟ هذه الجملة الوحيدة عنه وينتقل الكتاب الى موضوع آخر... هل لأحد أن يشرح لي ما معنا هذا؟؟
ملاحظة (كان الموضوع عن الكلاس)
ما هي وظيفة( :: ) .. في الكتاب اللي بأقراه مكتوب لمنع الخلط بين أسماء المتغيرات.. وبارامترات الدوال ؟؟ هذه الجملة الوحيدة عنه وينتقل الكتاب الى موضوع آخر... هل لأحد أن يشرح لي ما معنا هذا؟؟
ملاحظة (كان الموضوع عن الكلاس)
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته وبعد
وظيفة(::) هي عندما تريد تعريف دالة خارج الكلاس بعد التصريح عنها داخل الكلاس طبعاً
فمثلاً:
void Add(int M,int F);//Add
فأنت هنا تقوم بالتصريح عن الدالة داخل الكلاس بهذه الطريقة ولكن عندما تريد تعريف الدالة خارج الكلاس فأنك ستكتب التعريف التالي على فرض أن اسم الكلاس AMS :
void AMS::Add(s,t) {تكتب تعريف الدالة هنا}
مع العلم أن s and t ليست إلا متغيرات من النوع الصحيح لتمريرها إلى الدالة
أرجوا أن أكون قدوصلت لما تفكر فيه ونحن في الخدمة
شكرا أخي EIDx00..
لكن يبدو أنني لم أوضح السؤال.. أعذرني..
أقصد في موضوع الوصوال الى اعضاء الكلاس بهذا الاوبيريتر ::
مثلا لماذا نكتب :
CLASS_NAME::MEMBER_NOT_FUNC=1;
وتقبّل تحياتي.
المعامل :: يسمى Scope Operator
ومن فوائده ما ذكره الأخ EIDx00 مشكوراً .
أما سؤالك يا أخي فسأجيب عليه حسب فهمي له ..
لو تلاحظ أننا حين نريد طباعة جملة ما على الشاشة مثلاً ، فإننا نكتب التالي :
cout << "Hi C++" ;
وكان من المفترض أننا نكتب التالي :
std::cout << "Hi C++" ;
ولكننا لم تقم بذلك ، لأننا قمنا باستخدام ما يعرف بـ namespcace ، بالشكل التالي :
using namespace std;
بعد
#include
فأرجوا أن تكون الصورة قد اتضحت (gift)
بإمكانك إنشاء namespace خاص بك وذلك في ملف الرأس أو ما يعرف
بـ Header File (إذا فرضنا أنك نجزأ برنامجك إلا ثلاث ملفات ، أحدهما Header File ، والثاني Implementation File ، والثالث Application File والذي يحوي على دالة الـ main ) ، كالتالي :
قبل ما تعرف الـ Class ، تكتب
namespace MyNameSpace;
{
وفي نهاية الملف ، تغلق القوس
} // to close MyNameSpace
لا تنسى أن تستخدم
using namespace MyNameSpace;
في ملف التطبيق .
شكرا لك أخي على المعلومات القيمة...
لكن هل تتحدث عن لغة سي++؟!
أظن أنك تتحدث عن سي# اليس كذلك؟
-------------------------------------------------
أخي إسماعيل لا هذه ليست السي# بل هي السي++ .
السي# لا تحتوي على العلامة :: بل كل شئ هو '.' فقط :) .
مع حياتي ,,,
سي#:'(
الله يرحم السي++:'(
اقتباسالرسالة الأصلية كتبت بواسطة ملك الشبكاتبإمكانك إنشاء namespace خاص بك وذلك في ملف الرأس أو ما يعرف
بـ Header File (إذا فرضنا أنك نجزأ برنامجك إلا ثلاث ملفات ، أحدهما Header File ، والثاني Implementation File ، والثالث Application File والذي يحوي على دالة الـ main ) ، كالتالي :
قبل ما تعرف الـ Class ، تكتب
namespace MyNameSpace {
--(( التعديل : بدون الفاصلة المنقوظة التي ذكرتها في رد سابق لي ، عذراً ))--
وفي نهاية الملف ، تغلق القوس
} // to close MyNameSpace
هذا الموضوع مغلق.