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

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




نمايش نتايج 1 به 2 از 2

نام تاپيک: چرا این اپراتور تخصیص درست کار نمیکنه

  1. #1
    در آغاز فعالیت طاهره89's Avatar
    تاريخ عضويت
    Apr 2011
    محل سكونت
    مشهد
    پست ها
    11

    پيش فرض چرا این اپراتور تخصیص درست کار نمیکنه

    سلام. دارم یه کلاس ماتریس می نویسم ولی اپراتور تخصیص درست کار نمی کنه و این باعث شده بقیه اپراتورها هم به مشکل بخوره. کسی میدونه اشکال کارم کجاست؟

    #include <iostream>
    using namespace std;
    class Matrix{
    public:
    int m,n;
    int *data;
    Matrix(int h=1,int w=1){data=new int[(m=h)*(n=w)];}
    ~Matrix(){delete[]data;}
    void print();
    int &operator[](int i);
    int &operator()(int r,int c);
    void operator=(Matrix);
    };
    ////////////////////////////////////////
    int &Matrix::operator ()(int r, int c)
    {
    return data[r*n+c];
    }
    ////////////////////////////////////////
    int &Matrix::operator[](int i)
    {
    return data[i];
    }
    ///////////////////////////////////////
    void Matrix::operator=(Matrix A)
    {

    for(int i=0;i<m*n;i++)
    {
    (*this)[i]=A[i];
    /*cout<<(this)->data[i]<<" "<<A[i]<<endl;*/
    //ba ejraye dastoor bala be nazar mirese takhsis dorost anjam gerafte!

    }

    }
    ///////////////////////////////////////
    void Matrix::print()
    {
    int i,j;
    for(i=0;i<m;i++,cout<<endl)
    for(j=0;j<n;j++)
    cout<<(*this)(i,j)<<" ";
    }
    ////////////////////////////////////////
    int main()
    {
    int i,m,s,t;
    Matrix B(3,3),C(3,3),D(3,3);

    for(i=0;i<9;i++)
    C[i]=5;
    cout<<endl<<"C="<<endl;
    C.print();
    for(i=0;i<9;i++)
    B[i]=i;
    cout<<endl<<"B="<<endl;
    B.print();

    B=C;
    cout<<endl<<"pas az takhsis!"<<endl<<"B="<<endl;
    B.print();
    cout<<endl<<"C="<<endl;
    C.print();


    system ("pause");
    return 0;
    }

  2. #2
    در آغاز فعالیت طاهره89's Avatar
    تاريخ عضويت
    Apr 2011
    محل سكونت
    مشهد
    پست ها
    11

    پيش فرض

    سلام.
    خودم جوابش رو پیدا کردم گفتم اینجا هم جوابو بذارم شاید به درد بخوره
    سازنده کپی تعریف نشده
    برای رفع این مشکل می تونیم توی تعریف اپراتور تخصیص و همچنین موقع نوشتن بدنه، به جای Matrix A بنویسیم Matrix &A

Thread Information

Users Browsing this Thread

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

User Tag List

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

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