Operator overloading.pdf - Google Drive

1 downloads 227 Views 267KB Size Report
Page 1. Whoops! There was a problem loading more pages. Operator overloading.pdf. Operator overloading.pdf. Open. Extrac
Operator Overloading 1. Addition of fractions with Further Simplification Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OperatorOverloadingAssignment { class calc { public int num; public int dino; public calc() { // } public calc(int n,int d) { num = n; dino = d; } public static calc operator +(calc o1,calc o2) { calc r = new calc(); r.num = (o1.num * o2.dino) + (o2.num * o1.dino); r.dino = o1.dino + o2.dino; //further simplification

if(r.num%r.dino==0) { r.num = r.num / r.dino; r.dino = 1; } else if (r.num%r.dino!=0 && r.num%2==0 && r.dino%2==0) { do{ r.num = r.num / 2; r.dino = r.dino / 2; } while (r.num % 2 != 0 || r.dino % 2 != 0); }

By: Ali Hassan Soomro

else if (r.num % r.dino != 0 && r.num % 3 == 0 && r.dino % 3 == 0) { do{ r.num = r.num / 3; r.dino = r.dino / 3; } while (r.num % 3 != 0 || r.dino % 3 != 0); } return r; } } class Program { static void Main(string[] args) { calc obj1 = new calc(2,3); calc obj2 = new calc(5,6); calc result = obj1 + obj2; Console.WriteLine(result.num+"/"+result.dino); Console.ReadKey(); } } }

Output

By: Ali Hassan Soomro

2. Multiplication of Fractions Code: using using using using

System; System.Collections.Generic; System.Linq; System.Text;

namespace OperatorOverloadingAssignment { class calc { public int num; public int dino; public calc() { // } public calc(int n,int d) { num = n; dino = d; } public static calc operator *(calc o1,calc o2) { calc r = new calc(); r.num = r.dino =

o1.num * o2.num; o1.dino * o2.dino;

return r; } } class Program { static void Main(string[] args) { calc obj1 = new calc(2,3); calc obj2 = new calc(5,6); calc result = obj1 * obj2; Console.WriteLine(result.num+"/"+result.dino); Console.ReadKey(); } } }

Output:

By: Ali Hassan Soomro

By: Ali Hassan Soomro

Suggest Documents