Saturday, February 25, 2012

C++ Program to Implement Friend Class for Adding two Numbers

Friends are functions or classes declared using the friend keyword.
Friend Class can access the private and protected members of the class for which it is friend to c,it is done by a declaring prototype of this external function within the class, and with the keyword friend.

Friend class is used in C++ to gain access to protected members exclusively by the friend class
The following is an Example Program in C++ using friend class to fins the sum of two numbers
 #include<iostream.h>  
 #include<conio.h>  
 class readint  
 {  
 float a,b;  
 public:  
 void read()  
 {  
 cout<<"\n\nEnter the First Number : ";  
 cin>>a;  
 cout<<"\n\nEnter the Second Number : ";  
 cin>>b;  
 }  
 friend class sum;  
 };  
 class sum  
 {  
 public:  
 float c;  
 void add(readint rd)  
 {  
 c=rd.a+rd.b;  
 cout<<"\n\nSum="<<c;  
 }  
 };  
 void main()  
 {  
 int cont;  
 readint rd;  
 sum s;  
 clrscr();  
 do  
 {  
 clrscr();  
 rd.read();  
 s.add(rd);  
 cout<<"\n\nDo you want to continue?(1-YES,0-NO)";  
 cin>>cont;  
 }while(cont==1);  
 getch();  
 }  

Friday, February 10, 2012

C++ Program using Templates to Find minimum of two Integers,Characters and Floating Point Numbers

Template is an more abstract level of a Class by allowing more than one type of data types to be handled by a same class without the need for the definition of more classes.A template class can handle integers,characters,strings etc.For example you can check if a character is greater that a character or an integer is greater than an integer by using a same template class.C++ supports Template classes.To get a better and brighter idea of classes see http://c-madeeasy.blogspot.in/2011/12/what-is-abstractionthe-concept-of.html

The following program is a template class Implementation in C++ to find out the minimum of two integers,characters and floating point numbers.The template class implementation allows this operation to be done using a same class with the need of different classes for different data types.

 #include<iostream.h>  
 #include<stdio.h>  
 #include<conio.h>  
 //c-madeeasy.blogspot.com  
 template<class T>  
 T min(T n1,T n2)  
 {  
 if(n1<n2)  
 return n1;  
 else if(n1>n2)  
 return n2;  
 else  
 cout<<"EQUAL\n\n";  
 }  
 void main()  
 {  
 int a,b,c,choice,ch;  
 float d,e,m;  
 char f,g,n;  
 clrscr();  
 do{  
 cout<<"\t\tMINIMUM\n\n1.Integers\n\n2.Floating Point\n\n3.Character\n\n";  
 cout<<"Enter your choice : ";  
 cin>>choice;  
 switch(choice)  
 {  
 case 1 : cout<<"\n\nEnter the Integers : ";  
            cin>>a>>b;  
            c=min(a,b);  
            cout<<"Minimum Element : "<<c;  
            break;  
 case 2 : cout<<"\n\nEnter the Floating Point numbers : ";  
            cin>>d>>e;  
            m=min(d,e);  
            cout<<"Minimum Element : "<<m;  
            break;  
 case 3 : cout<<"\n\nEnter the Characters : ";  
            cin>>f>>g;  
            n=min(f,g);  
            cout<<"Minimum Element : "<<n;  
            break;  
 default: cout<<"\n\nInvalid Choice";  
 }  
 cout<<"\n\nDo u want to continue?(YES-1,NO-0)";  
 cin>>ch;  
 clrscr();  
 }while(ch!=0);  
 getch();  
 }  

Wednesday, February 8, 2012

Vector Addition,Multiplication Program using Vector Class and Operator Overloadingin C++

Classes help to develop easier and effective programming style.To get a better understanding of classes and the concept of abstraction see http://c-madeeasy.blogspot.in/2011/12/what-is-abstractionthe-concept-of.html 

In this program a class named Vector is used to receive data in the form of a vector and + and * operators are overloaded to add and multiply these vectors.The complete Source Code of the C++ program to perform vector addition and multiplication using operator overloading is provided below.
 #include<iostream.h>  
 #include<conio.h>  
 class vector  
 {  
 //Visit c-madeeasy.blogspot.com  
 public:  
 int x,y,z;  
 void read()  
 {  
 cout<<"\n\nEnter the magnitude of i : ";  
 cin>>x;  
 cout<<"\n\nEnter the magnitude of j : ";  
 cin>>y;  
 cout<<"\n\nEnter the magnitude of k : ";  
 cin>>z;  
 }  
 vector operator -()  
 {  
 x=-x;  
 y=-y;  
 z=-z;  
 }  
 vector operator +(vector b)  
 {  
 vector c;  
 c.x=x+b.x;  
 c.y=y+b.y;  
 c.z=z+b.z;  
 return c;  
 }  
 vector operator *(vector b)  
 {  
 int prod;  
 vector c;  
 c.x=x*b.x;  
 c.y=y*b.y;  
 c.z=z*b.z;  
 prod=c.x+c.y+c.z;  
 cout<<"\nScalar Product = ";  
 cout<<prod;  
 vector d;  
 d.x=(y*b.z)-(z*b.y);  
 d.y=(x*b.z)-(z*b.x);  
 d.z=(x*b.y)-(y*b.x);  
 return d;  
 }  
 void display()  
 {  
 cout<<x<<"i"<<"+"<<y<<"j"<<"+"<<z<<"k";  
 }  
 };  
 void main()  
 {  
 vector v1,v2,v3;  
 int choice,cont;  
 do  
 {  
 clrscr();  
 cout<<"\n\tVECTORS\n\n1.Negation of The Vector\n\n2.Sum of Vecors\n\n3.Product of Vectors\n\n";  
 cout<<"\nEnter your choice : ";  
 cin>>choice;  
 switch(choice)  
 {  
 case 1 : cout<<"\nEnter the Vector\n";  
            v1.read();  
            -v1;  
            cout<<"Negation of the Vector : ";  
            cout<<v1.x<<"i"<<v1.y<<"j"<<v1.z<<"k";  
            break;  
 case 2 : cout<<"\n\nEnter the First Vector : ";  
            v1.read();  
            cout<<"\n\nEnter the Second Vector : ";  
            v2.read();  
            v3=v1+v2;  
            cout<<"\n\nThe Sum of Vectors : ";  
            v3.display();  
            break;  
 case 3 : cout<<"\n\nEnter the First Vector : ";  
            v1.read();  
            cout<<"\n\nEnter the Second Vector : ";  
            v2.read();  
            v3=v1*v2;  
            cout<<"\n\nVector Product = ";  
            v3.display();  
            break;  
 default : cout<<"\n\nInvalid Choice";  
 }  
 cout<<"\n\n\nDo you want to continue?(1-YES,0-NO)\n";  
 cin>>cont;  
 }while(cont==1);  
 }  

Which is the Best Photo Watermarking Software

Photo Theft is becoming more and more common in the web with the outburst of social websites like Facebook,Google Plus and Image sharing se...