تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 12

نام تاپيک: یک سوال تخصصی ++C در مورد Operator overloading

  1. #1
    داره خودمونی میشه soheil1366's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    mashhad
    پست ها
    67

    پيش فرض یک سوال تخصصی ++C در مورد Operator overloading

    سلام
    من وقتی عملگر >>(cout) را دوباره تعریف میکنم و در قسمت نام object ورودی به تابع const نمیگذارم بعد از اینکه بخواهم object را به خروجی بدم در حالی که در جلوی یا در پشت object از عملگر ++ استفاده بکنم کامپایلر ارور میدهد ولی اگر در موقع object ورودی به تابع const بگذارم دیگر ارور نمیدهد
    لطفا هر کسی میتواند دلیل این را بگوید
    در ضمن عملگر ++ را هم برای جلوی object و هم برای پشت object مجددا تعریف کرده ام
    ostream &operator<<(ostream &out,classname &obj) حالتی که ارور میدهد
    ostream &operator<<(ostream &out,const classname &obj) حالتی که ارور نمیده

  2. #2
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام.
    parameter دوم نبايد توسط >> operator اصلاح (Modify) يا تغيير كنه.بنابراين بهتره به صورت
    const reference تعريف بشه.
    parameter دوم شما يك reference از كلاستون هست. يك reference فقط ميتونه مرجع يك Object باشه ونميتونه بعدا تغيير كنه و مرجع object ديگه اي بشه. در واقع يك reference مثل يك constant pointer هست. وكامپايلر يه
    reference رو در هنگام اجرا اون رو يك constant pointer در نظر ميگيره.
    ممكنه شما در برنامتون مقدار اين reference رو عوض كنيد يا اين مقدار دست كاري بشه.بنابراين بهتره به صورت const تعريف بشه.
    Last edited by someone; 24-08-2006 at 01:19.

  3. #3
    داره خودمونی میشه soheil1366's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    mashhad
    پست ها
    67

    پيش فرض

    از جواب کاملتون خیلی ممنونم ولی من باز هم متوجه نشدم که چرا به عملگر ++ ارور میده چون به نظر من در این مورد چه const بنویسم وچه ننویسم نباید به این کار من ایراد بگیره چون خودتون هم نوشتین بهتره به صورت const تعریف بشه نه ضروری.
    Last edited by soheil1366; 24-08-2006 at 11:33.

  4. #4
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام دوست عزيز.
    آيا سوالتون مربوط به برنامه ي " کلاس اعداد کسری " كه نوشتيد ميشه؟
    در ضمن از كدام Ide استفاده ميكنيد؟
    Last edited by someone; 24-08-2006 at 14:55.

  5. #5
    داره خودمونی میشه soheil1366's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    mashhad
    پست ها
    67

    پيش فرض

    سلام
    نه مربوط به كلاس اعداد كسري نيست
    توي هر كامپايلري كه امتحان كردم همون ارور رو ميده

  6. #6
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    نقل قول نوشته شده توسط soheil1366
    سلام
    نه مربوط به كلاس اعداد كسري نيست
    توي هر كامپايلري كه امتحان كردم همون ارور رو ميده
    دوباره سلام.
    اگه ممكنه كد برنامتون و error ي كه ايجاد ميشه رو بذاريد.
    ممنون.

  7. #7
    اگه نباشه جاش خالی می مونه sorset's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    مشهد
    پست ها
    411

    پيش فرض

    ببخشید
    اشتباهاً تو این تاپیک یه پست فرستادم
    یا به عبارتی راه گم کردم
    Last edited by sorset; 25-08-2006 at 11:46.

  8. #8
    داره خودمونی میشه soheil1366's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    mashhad
    پست ها
    67

    پيش فرض

    سلام
    شما در هر برنامه ای و هر کامپایلری که این روش رو امتحان کنید همون Error رو میده وربطی به برنامه و کامپایلر من نداره

  9. #9
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    نقل قول نوشته شده توسط soheil1366
    سلام
    شما در هر برنامه ای و هر کامپایلری که این روش رو امتحان کنید همون Error رو میده وربطی به برنامه و کامپایلر من نداره
    دوباره سلام.
    دوست عزيز متوجه شدم. منظورتون از همون error چيه؟ شما نه كد برنامتون رو ميذاريد نه در باره ي error توضيح ميديد. هر error يه code و يه description داره. اگه نميتونيد كد رو بذاريد,حداقل code error و description رو پست كنيد.

  10. #10
    داره خودمونی میشه soheil1366's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    mashhad
    پست ها
    67

    پيش فرض

    نقل قول نوشته شده توسط someone
    دوباره سلام.
    دوست عزيز متوجه شدم. منظورتون از همون error چيه؟ شما نه كد برنامتون رو ميذاريد نه در باره ي error توضيح ميديد. هر error يه code و يه description داره. اگه نميتونيد كد رو بذاريد,حداقل code error و description رو پست كنيد.
    سلام
    من گفتم كد خاصي رو نميگم براي مثال اين دو برنامه ي زير رو مقايسه كنيد تا به منظور من پي ببريد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این کد درست بود ولی پایینی نه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    میبینید که عملگر >> در حالت معمولی درست کار میکنه ولی در برنامه دومی در حالت ++ ارور میده

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •