Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Nạp chồng toán tử !(not)

  1. #1
    Ngày gia nhập
    05 2008
    Bài viết
    0

    Mặc định Nạp chồng toán tử !(not)

    Code:
    #include<iostream.h>
    #include<conio.h>
    class ps
    {
        int tu,mau;
        public:
            void nhap()
           {
                   //code
           }
           void xuat()
           {
                  //code
           }
            int operator ==(ps ob1)
            {
                 //code
            }
            int operator !=(ps ob1)
            {
                  //code
            }
            int operator >(ps ob1)
            {
                 //code
            }
            int operator <(ps ob1)
            {
                   //code
            }
            int operator !( tham so can truyen)//giup o cho nay
            {
                  //code
            }
    
    };
    void main()
    {
         ps a,b,c;
              a.nhap();
              b.nhap();
              if(!(a==b))
                       //code
              getch();
    }
    Truyền tham số một cách tổng quát làm sao để áp dụng với nhiều cái khác nhau ví dụ như:
    !(a==b), !(a>b), !(a<b), !(a!=b)

  2. #2
    Ngày gia nhập
    06 2008
    Bài viết
    25

    Ko có operator not, not đơn giản là lấy phủ định của 1 boolean
    Các operator kia bạn dùng sai rồi :

    Code:
            bool operator ==(const ps & ob1)
            {
                 //code
            }
            bool operator !=(const ps & ob1)
            {
                  //code
            }
           bool operator >(const ps & ob1)
            {
                 //code
            }
            bool operator <(const ps & ob1)
            {
                   //code
            }

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    5

    mình viết thế này nhé bạn về chạy thử xem có sai không:
    Code:
    #include<iostream.h>
    #include<iomanip.h>
    #include<conio.h>
    class ps
    {
      int tu ,mau;
      public:
        void nhap()
        {
           cout<<"\nNhap vao gia tri cua tu va mau:\n";
           cin>>tu>>mau;
        }
        void xuat()
        {
           cout<<tu<<"/"<<mau;
           getch();
        }
        int operator ==(ps ob1)
        {
          return(tu*(BCNN(ob1.mau,mau)/mau)-ob1.tu*(BCNN(ob1.mau,mau)/ob1.mau)==0)?1:0;
        }
         //các ham khác viết tương tự
        int UCLN(int a,int b)
        {  
             return((a==b)?a:(a>b)?UCLN(a-b,b):UCLN(a,b-a));
        }
        int BCNN(int a,int b)
        {
           return(a*b/BCNN(a,b));  
        }
    };
    void main()
    {
        ps ob1,ob2;
        ob1.nhap();
        ob1.xuat();
        ob2.nhap();
        ob2.xuat();
        if(ob1==ob2)
          cout<<"\nHai phan so bang nhau:\n";
        else
          cout<<"\nHai phan so khong  bang nhau:\n"; 
    }
    mình khẳng định rằng không sai về cú pháp trong bài này.
    còn bạn có thể giải thích rỏ hơn về tải bội toán tử !(not) trong bài này được không? Theo bạn làm thế nào.
    Luôn muốn hỏi

  4. #4
    Ngày gia nhập
    04 2008
    Bài viết
    244

    toán tử not cũng tương tự thôi,đừng lấy dấu ! nữa,mà hãy lấy 1 dấu khác,vì nó dễ hiểu nhầm với ngôn ngũ lập trình

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn