Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Hàm toán tử (Operator Functions) trong C#


Hàm toán tử là toán tử nạp chồng, là các hàm với tên đặc biệt. Tạo bằng từ khóa operator theo sau là ký hiệu toán tử. Giống hàm khác, có kiểu trả về và danh sách tham số.

public static Box operator+ (Vehicle v1, Vehicle v2, Vehicle v3) { }

Ví dụ hoàn chỉnh

using System;
namespace OperatorOvlApplication {
    class Box {
        private double length, breadth, height;
        public double getVolume() { return length * breadth * height; }
        public void setLength(double len) { length = len; }
        public void setBreadth(double bre) { breadth = bre; }
        public void setHeight(double hei) { height = hei; }
        public static Box operator+ (Box b, Box c) {
            Box box = new Box();
            box.length = b.length + c.length;
            box.breadth = b.breadth + c.breadth;
            box.height = b.height + c.height;
            return box;
        }
    }
    class Tester {
        static void Main(string[] args) {
            Box Box1 = new Box(), Box2 = new Box(), Box3 = new Box();
            double volume = 0.0;
            Box1.setLength(6.0); Box1.setBreadth(7.0); Box1.setHeight(5.0);
            Box2.setLength(12.0); Box2.setBreadth(13.0); Box2.setHeight(10.0);
            volume = Box1.getVolume(); Console.WriteLine("Thể tích Box1: {0}", volume);
            volume = Box2.getVolume(); Console.WriteLine("Thể tích Box2: {0}", volume);
            Box3 = Box1 + Box2;
            volume = Box3.getVolume(); Console.WriteLine("Thể tích Box3: {0}", volume);
            Console.ReadKey();
        }
    }
}