Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: hỏi về nạp chồng toán tử trong C#

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

    Mặc định hỏi về nạp chồng toán tử trong C#

    Visual C# Code:
    1. class PhanSo
    2.     {
    3.         private int _tu;
    4.         private int _mau;
    5.         public PhanSo()
    6.         {
    7.             _mau = 1;
    8.             _tu = 0;
    9.         }
    10.         public PhanSo(int _tu, int _mau)
    11.         {
    12.             this._tu = _tu;
    13.             this._mau = _mau;
    14.         }
    15.         public void Nhap()
    16.         {
    17.             Console.WriteLine("nhap tu so: ");
    18.             _tu = int.Parse(Console.ReadLine());
    19.             Console.WriteLine("nhap mau so: ");
    20.             _mau = int.Parse(Console.ReadLine());
    21.         }
    22.         public void Xuat()
    23.         {
    24.             Console.WriteLine("{0}/{1}", _tu, _mau);
    25.         }
    26.         public PhanSo CongPhanSo(PhanSo A)
    27.         {
    28.             PhanSo Tong = new PhanSo();
    29.             Tong._tu = (this._tu * A._mau) + (this._mau * A._tu);
    30.             Tong._mau = this._mau * A._mau;
    31.             return Tong;
    32.         }
    33.     }
    //////
    cho mình hỏi là bây giờ muốn thay phương thức "CongPhanSo" = dấu " + " như số nguyên thì phải làm sao.thank!
    ///////
    mình đang học C++ muốn làm wwen với C#

    Edited by Xcross87: Chú ý đọc nội quy để biết cách trình bày bài viết.
    Đã được chỉnh sửa lần cuối bởi Xcross87 : 19-02-2009 lúc 12:11 AM.

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    heaven
    Bài viết
    6

    Code:
    Phan_so operator+ (Phan_so b) {
        Phan_so c;
        c.tu=tu*b.mau+mau*b.tu;
        c.mau=mau*b.mau;
        return c;

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

    mình hỏi cách viết trong C# chứ không phải C++

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Visual C# Code:
    1. public static PhanSo operator==(PhanSo p1,PhanSo p2)
    2. {
    3.     PhanSo result= new PhanSo();
    4.     result._tu=p1_tu+p2_tu;
    5.     result._mau=p1_mau+p2_mau;
    6.     return result;
    7. }
    Cánh Chym ứ mỏi

  5. #5
    Ngày gia nhập
    01 2009
    Bài viết
    89

    dieucay định dùng == thay cho + sao

    Visual C# Code:
    1. public static PhanSo operator+(PhanSo p1,PhanSo p2)
    2. {      
    3.        //...
    4.        return new PhanSo(t,m);
    5. }
    Đã được chỉnh sửa lần cuối bởi ngocbig™ : 19-02-2009 lúc 05:56 PM.

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

    Mặc định hỏi về nạp chồng toán tử trong C#

    thank "ngocbig"/cho mình hỏi thêm là tai sao phải co từ khóa "static" và tại sao khi dùng từ khóa "static" thì con con trỏ "this" lại không còn!

  7. #7
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Trích dẫn Nguyên bản được gửi bởi rua_con Xem bài viết
    thank "ngocbig"/cho mình hỏi thêm là tai sao phải co từ khóa "static" và tại sao khi dùng từ khóa "static" thì con con trỏ "this" lại không còn!
    static: áp dụng cho cả một lớp tức là tất cả các instance dùng chung
    còn this tức là áp dụng cho đối tượng hiện tại
    => suy ra, tất nhiên là this không lần mò vào khu vực static được rồi.
    None!

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

    thank! ở đây mình muốn hỏi là tại sao lại phải có từ khóa static trươc một phương thức overload
    trong C++ chi cần "phanso operator +" ok!
    trong C# lại phải "static phanso operator +"
    //tại mình thấy cơ bản C# và C++ khá dống nhau về class

  9. #9
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    dieucay định dùng == thay cho + sao
    Quên mất,viết nhầm
    Cánh Chym ứ mỏi

  10. #10
    Ngày gia nhập
    01 2009
    Bài viết
    89

    Mình cũng ẩu quá!

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