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

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




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 11 از 11

نام تاپيک: کار با قالب ها در Overload استريم ها

  1. #11
    آخر فروم باز Mehran NZ's Avatar
    تاريخ عضويت
    Sep 2006
    پست ها
    2,208

    پيش فرض

    خوشحالم که مشکلتون حل شد فقط من یه توضیحی در مورد این جمله "اینا رو از حالت friend در بیارید و بعد بصورت تک پارامتری باز نویسیش کنید " میدم چون احساس می کنم یکم گنگ گفتم
    ببینید وقتی که شما یک تابع رو بصورت friend تعریف می کنید این تابع بصورت inline در میاد یعنی اینکه به نوعی از تعریف کلاس جدا می شه و وقتی که می خواید یک operator رو به این صورتی که می خواستین(یعنی با فرند) overload بکینید دقیقا مثل این هست که دارید در خارج از کلاس تابع رو overload می کنید بنابراین به دو پارامتر نیاز دارین پارامتر اول یعنی خود شی جاری کلاس و پارامتر دوم( که می تونه هر چیزی باشه) ولی اگه در داخل کلاس بدون friend یک تابع رو overload کنید دیگه به پارامتر اول نیازی نیست چون می تونید از طریف عملگر this بهش دسترسی داشته باشید
    به این مثال دقت کنید اولی بدون friend هست پس به پارامتر اولی نیاز نداره چون از طریق this به هر چیزی که می خواد دسترسی داره ولی دومی با friend هست که به شی جاری کلاس نیاز داره
    CBox operator +(const CBox& aBox) const

    friend CBox operator+(const CBox& aBox, const CBox& bBox);

    حالا من منظورم این بود که شما علامت << رو بصورت اول overload کنید که در اینصورت توابع friend حذف می شن و مشکل حل می شه
    Last edited by Mehran NZ; 31-05-2009 at 23:48.

  2. این کاربر از Mehran NZ بخاطر این مطلب مفید تشکر کرده است


صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

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

User Tag List

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

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