الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح لل Class

رائج
بدأه شعاع الأمل في 18 مارس 2008 · 52 رد · 31,204 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#51

اهلين اختي الغالية

,..,.,.,,.,,.,.,.

اقتباس
يعني Refrence هو عباره عن شيء يؤشر على عنوان متغير..

وال Pointer هو شيء يؤشر على متغير أو على عنوان المتغير..

صح؟؟؟

لا مو صح..شو رايك هه؟ :happy:

,.,.,.,.,.,,.,.,

كلاً من التقنيتين تُشيرانِ إلى عنوان في الذاكرة لمتغير ما Variable او لكائن ما Object..فقط لا غير..ولكن هناك بعض الأشياء تنْفرد به المؤشرات و تتمكن منه دون المراجع..وهي الفروق المذكورة اعلاه..

,.,.,.,.,.,.,.,.,.

راقبي وطبقي المثال التالي فضلاً لا أمراً :happy:

#include <iostream>

using namespace std;

int main()

{

int x;
//متغير عادي

cout << &x << endl;
// نطلب طباعة عنوانه للمتغير إكس

int &refX = x;
//مرجع يشير إلى عنوان متغيرنا إكس السابق

//,.,.,.,.,.,.,.,.,.,,.,..,

cout << &refX << endl;
//نطلب طباعة عنوان المرجع

//,.,.,.,.,.,.,.,.,.,.,.,.,.

int *ptrX = &x;
//مؤشر يشير إلى عنوان المتغير إكس ايض
اً

//,.,.,.,.,.,.,.,.,.,.,.,.

cout << ptrX << endl;
//نطبع قيمة هذا المؤشر و هي طبعاً عنوان المتغير إكس

return 0;

}

راقبي المُخرَج تبع البرنامج The Output

0x241ff5c

0x241ff5c

0x241ff5c

Press any key to continue...

المُخرج الأول هو عنوان المتغير إكس, والثاني قيمة المرجع الذي يُشير إليه(وهو عنوان إكس), والتالت قيمة المؤشر الذي يشير إليه ايضاً(وهو عنوان إكس)..كلهم عنوان واحد..طبعاً ممكن تختلف العناوين بجهازك لأن النظام هو الذي يحدد هذا الشيء أثناء تنفيذ البرنامج ولكن كلهن يُشيروا إلى عنوان واحد فقط. صحيح المرجع عبارة(كأنه) اسم مستعار لذلك المتغير ولكن هو مرجع للعنوان الخاص به و أي تأثير عليه يؤثر على المتغير.

,.,.,.,.,.,.,.,.,.,.

رايدة سؤال؟؟؟؟!!!! :rolleyes: مممممممممممم طيب

كلنا نعرف ان حجم متغير من نوع char هو واحد Byte(عموماً في انظمة 32بت) فكم حجم مؤشر يُشير إلى متغير من هذا النوع و لماذا؟ مع المثال ببرنامج بسيط؟ :P

,.,.,.,.,.,..,,.,.,.,.

اطيب المُنى

:happy:

تم تعديل هذه المشاركة بواسطة رغـــــــــد في 30 مايو 2008 في 13:01 — السبب: كنت زانقة حالي بشيء ماني فاهمته :(

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#52

:huh: وشو هذا؟؟؟

:resentful:

:S

:hmm:

أختي الغاليه رغد من مثالك حسيت إنه كلامي تقريبا صح أنا قصدي إنه & إنه هذي العلامه تعبر لي عن ال adress للمتغير أو الأوبجكت

طيب وهذي * ونفس الشيء يأشر على متغير أو أوبجكت...

طيب أختي ماني عارفه والله كيف أطلع الحجم؟؟!!

وإلى الأن ماوصلت لمرحله إني أكتب برنامج من تأليفي وتفكيري>> متضايقه من هالشيء :unsure:

الله يعطيك العافيه على هالتعب اللي تتعبيه معي...

#53
شعاع الأمل كتب:
الله يعطيك العافيه على هالتعب اللي تتعبيه معي...

اهلاً مجدداً اختي الكريمة..ابداً الله يعافيك تعبكم راحة و إياك تترددي عن السؤال(لعموم المنتدى كمان) :happy:

,.,.,.,.,.,.,.,.,.

شعاع الأمل كتب:
وعليكم السلام ورحمة الله وبركاته...

بس أبقولك جزء من فهمي.

يعني Refrence هو عباره عن شيء يؤشر على عنوان متغير..

وال Pointer هو شيء يؤشر على متغير أو على عنوان المتغير..

صح؟؟؟

شوفي اللي كنتي كاتبته!! تعريفك غير دقيق.."يؤشر على متغير أو على عنوان المتغير؟؟

المؤشر Pointer يُشير إلى متغير ما بواسطة عنوان ذلك المتغير, حيث أن قيمة المؤشر دائماً تكون عنوان متغير ما او اوبجكت(مثل ما تفضلتي)..بسيطة(ماني لايمتك والله..لأني لحد الآن وانا في مشكلة مع المؤشرات والمراجع بالرغم لغة ++C اهتماماتي الغير اكاديمية ودارستها جيداً من خلال كتب إنجيلية(مقدسة) بخصوصا..انا عارفة الصعوبة تمام وهي تكمن في النحو (التركيب النحوي لها) اكتر من المفهوم.

,.,.,.,.,.,.,.,,.,.,.

طيب بخصوص حل السؤال بسيط

باستعمال المعامل sizeof()..طبقي البرنامج التالي:

#include <iostream>

using namespace std;

int main()

{

char
x = 'x';

char
&ptrX = x;

cout <<
sizeof
(x) << endl;
// 1 Byte

cout <<
sizeof
(ptrX) << endl;
// 4 Byte

return 0;

}

لاحظي أن حجم المؤشر هي 4 Byte..يا ترى لش؟؟ بتعبك شوي اقرأي الرابط التالي جيداً الإجابة موجودة فيه, وفضلاً لا امراً كمان :happy:

هــ;ــا

,.,.,.,.,.,.,.,.,.

اطيب المُنى

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

مواضيع مشابهة