27. binary_operator_overloading

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace binary_operator_overloading.cs

{

    class math

    {

        public int a, b;

        public math()

        {

            a = b = 0;

        }

        public math(int a, int b)

        {

            this.a = a;

            this.b = b;

        }

        public static math operator +(math m1, math m2)

        {

            math m3 = new math();

            m3.a = m1.a + m2.a;

            m3.b = m1.b + m2.b;

            return m3;

        }

        public static math operator *(math m1, math m2)

        {

            math m3 = new math();

            m3.a = m1.a * m2.a;

            m3.b = m1.b * m2.b;

            return m3;

        }

        public static bool operator ==(math m1, math m2)

        {

            return((m1.a == m2.a) && (m1.b == m2.b));

        }

        public static bool operator !=(math m1, math m2)

        {

            return ((m1.a != m2.a) && (m1.b == m2.b) );

        }

        public static bool operator >(math m1, math m2)

        {

            return (((m1.a > m2.a) && (m1.b > m2.b)));

        }

        public static bool operator <(math m1, math m2)

        {

            return (((m1.a < m2.a) && (m1.b < m2.b)));

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

            bool ans;

            math m1 = new math(20, 30);

            math m2 = new math(10, 10);

            math m3 = new math();


            m3 = m1 + m2;

            Console.Out.WriteLine("Addition Operator \n\nA = " + m3.a + "\nB = " + m3.b);


            m3 = m1 * m2;

            Console.Out.WriteLine("Multiplication Operator \n\nA = " + m3.a + "\nB = " + m3.b);


            ans = m2 == m3;

            Console.Out.WriteLine(" == Operator result : " + ans);


            ans = m2 != m3;

            Console.Out.WriteLine(" != Operator result : " + ans);


            ans = m2 < m3;

            Console.Out.WriteLine(" < Operator result : " + ans);


            ans = m2 > m3;

            Console.Out.WriteLine(" > Operator result : " + ans);


            Console.Read();

        }

    }

}

OUTPUT:
Addition Operator

A = 30
B = 40
Multiplication Operator

A = 200
B = 300
 == Operator result : False
 != Operator result : False
 < Operator result : True
 > Operator result : False

 

Comments

Popular posts from this blog

7.Write a program to read a list containing item name, item code and cost interactively and produce a three-column output as shown below. NAME CODE COST Turbo C++ 1001 250.95 C Primer 905 95.70 ------------- ------- ---------- ------------- ------- ---------- Note that the name and code are left-justified and the cost is right-justified with a precision of two digits. Trailing zeros are shown.

Questions 2 : Assume there are three small caches, each consisting of four one-word blocks. On cache is direct-mapped, a second is two-way set-associative, and the third is fully associative. Find the number of hits for each cache organization given the following sequence of block addresses: 0, 8, 6, 5, 10, 15 and 8 are accessed twice in the same sequence. Make a tabular column as given below to show the cache content on each of columns as required. Show all the pass independently pass. Draw as many numbers Assume the writing policy is LRU. Memory location Hit/Mis Add as many columns as required

Quetion 6 : Consider the "in-order-issue/in-order-completion" execution sequence shown in f In Figure Decode OWE Execute 12 12 12 14 16 13 16 13 15 15 16 Write 024/06/02 11 3 4 11 12 13 13 N 15 16 a. Identify the most likely reason why I could not enter the execute fourth cycle. stage until the [2] b. Will "in-order issue/out-of-order completion" or "out-of-order issue/out-of-order completion" fix this? If so, which? Explain