Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
1,18 MB
Nội dung
Click to edit Master subtitle CHƯƠNG 10: style Operator overloading Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM NỘI DUNG Đặt vấn đề Operator overloading Operator Overloading Tốn tử ngơi Tốn tử ngơi Hỗn hợp Tốn tử so sánh Khai báo hàm cho Operator overloading Các tốn tử chuyển đổi Tóm tắt ĐẶT VẤN ĐỀ Đặt vấn đề Mục tiêu thiết kế ngôn ngữ C# lớp tự tạo (user-defined class) người dùng có tất chức kiểu liệu có sẵn (built-in type) Đặt vấn đề Ví dụ: class Vector { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Cộng vector } Gọi hàm cộng vector Vector Vector public static Vector Add(Vector a, Vector b) { return new Vector(a.X + b.X, a.Y + b.Y); } v1 = new Vector (1.0, 2.0); v2 = new Vector (3.0,4.0); Có thể viết ???? Vector kq = Vector.Add(v1, v2); Vector Vector v1 = new Vector (1.0, 2.0); v2 = new Vector (3.0,4.0); Vector kq = v1 + v2; Operator Overloading OPERATOR OVERLOADING Operator overloading Operator overloading Tốn tử ngơi Tốn tử ngơi Hỗn hợp Tốn tử so sánh Operator overloading Operator overloading Tốn tử ngơi Tốn tử ngơi Hỗn hợp Tốn tử so sánh Operator overloading Operator overloading bao gồm: Từ khoá operator Các toán hạng (operand) • Ví dụ: +, -, *, /, >, < >= , < ; >=, =, , < phải overload theo cặp: == !=, >= < Operator overload không cho phép định nghĩa phép toán: =, , &&, ||, new Tất phép tốn phải có : public static Các phép toán chuyển đổi (conversion operators) 31