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

كود صغير اوى حوالى عشر سطور عاوز اعرف فكرته

مغلق
بدأه smart1_software_engineer في 23 أبريل 2006 · 2 رد · 606 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

4. Create a prefix and postfix increment operator for your SimpleCircle class that increments itsRadius.

const SimpleCircle& SimpleCircle::operator++()

{

++(itsRadius);

return *this;

}

// Operator ++(int) postfix.

// Fetch then increment

const SimpleCircle SimpleCircle::operator++ (int)

{

// declare local SimpleCircle and initialize to value of *this

SimpleCircle temp(*this);

++(itsRadius);

return temp;

}

بالتحديد عاوز اعرف شرح اول سطر

مع اطلالة سريعة على فكرة كيفية استخدام البوست فكس والبرى فكس

وشكرا

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

5. Change SimpleCircle to store itsRadius on the free store, and fix the existing methods.

class SimpleCircle

{

public:

SimpleCircle();

SimpleCircle(int);

~SimpleCircle();

void SetRadius(int);

int GetRadius();

const SimpleCircle& operator++();

const SimpleCircle operator++(int);

private:

int *itsRadius;

};

SimpleCircle::SimpleCircle()

{itsRadius = new int(5);}

SimpleCircle::SimpleCircle(int radius)

{itsRadius = new int(radius);}

const SimpleCircle& SimpleCircle::operator++()

{

++(itsRadius);

return *this;

}

// Operator ++(int) postfix.

// Fetch then increment

const SimpleCircle SimpleCircle::operator++ (int)

{

// declare local SimpleCircle and initialize to value of *this

SimpleCircle temp(*this);

++(itsRadius);

return temp;

}

ارجو ان اى واحد قلبه طيب وباله طويل يشرح لى البرنامجين دول وله منى الكثير من الدعاء لانهم اوقفونى فى تعلمى للبرمجة

ومنتظر ردكم ان شاء الله :( :( :( :(

#2

شكلك عم تاخد مادة data structure على كل حال اللي بقدر اعمله هو تقديم شرح صغير للموضوع في الملف المرفق

اتمنى تقراه منيح لأنه بعدها رح تفهم شو يعني postfix and prefix

سلام

InfixPrefixAndPostfix.ppt

Computer Engineer

2007

"اللهم يا مثبت القلوب ثبت قلبي على دينك "

ولدتك امك باكيا والناس حولك يضحكون سرورا

فافعل لنفسك ان تكون اذا بكوا في يوم موتك ضاحكا مسرورا

#3

قارن بين هذه العمليات التي انت عملتها وبين عمليات النوع int

int a=5;
int b;

b = ++a;
b = a++;

في الحالة الأولى يضاف إلى المتغير a واحد ثم يسند (أي تسند القيمة الجديدة)

أما

في الحالة الثانية يسند a إلى b ثم يضاف الواحد (أي تسند القيمة القديمة)

ولعمل هذا بالكلاس لابد من استخدام

operator overloading

ولكن لاحظ يوجد عمليتين ++ لأن هناك حالتين

لذلك نضع الباراميتر في الحالة الثانية لكي نفرق (int)

ولكن كيف نطبق الحالة الثانية ؟؟؟ (أي داخل الدالة)

نسند القيمة في متغير وليكن temp ثم نجري الاضافة على ال this عملية الاضافة ثم نجعل الداله ترجع ال temp

========

والان نتتبع الحاله الثانية

b = a++;

سوف توضع في b قيمة الtemp التي هي قيمة a القديمة ثم تتغير قيمة a

========

الحالة الأولى هي البري

والحالة الثانية هي البوست

=================

أتمنى يكون الشرح واضح

abofahad5515@hotmail.com

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…