а = -b b операндының теріс мәні болып табылады, бірақ
b операндының мәні өзгермейді.
C# тілінде
++ және
-- операторларының асыра жүктелуі қарапайым орындалады. Ол үшін
инкременттелген немесе декременттелген мәнді қайтару жеткілікті, бірақ оны шақырған объектіні
өзгертпеу керек. Бұл операторлардың префикстік және постфикстік формаларын ажырата отырып,
қалғандарының барлығын компилятор орындайды.
Мысал 3. Complex класы үшін
operator++() операторлық әдісі келтірілген.
// ++ унарлық операторын асыра жүктеу using System; class Complex { int a, b; // санның нақты және жорамал бөліктері public Complex() { a = b = 0; } public Complex(int x, int y) { a = x; b = y; } // ++ унарлық операторын асыра жүктеу public static Complex operator ++(Complex op) { Complex natizhe = new Complex(); // Инкременттеу нәтижесін қайтару natizhe.a = op.a + 1; natizhe.b = op.b + 1; return natizhe; } // комплекс санды шығару public void Shygaru() { if(b >= 0) Console.WriteLine(a + " + " + b + "i "); else Console.WriteLine(a + " " + b + "i "); } } class Program { static void Main() { Complex C1 = new Complex(3, 8); Complex C2; Console.Write("C1 complex sany: "); C1.Shygaru(); C2 = C1++; Console.Write("++ postfixtik operaciya natizhesi: "); C2.Shygaru(); C2 = ++C2; Console.Write("++ prefixtik operaciya natizhesi: "); C2.Shygaru();