Cari Blog Ini

11 Agustus 2016

Contoh Penggunaan Syntax FRIEND


 #include<constrea.h>  
 #include<string.h>  
   
 struct String  
 {  
      private:  
           char kata[21];  
      public:  
           friend istream& operator >> (istream&, String&);  
           friend String& operator + (String&, String&);  
           friend ostream& operator << (ostream&, String&);  
           friend int operator > (String&, String&);  
           friend int operator < (String&, String&);  
           friend int operator == (String&, String&);  
 };  
   
 String temp;  
   
 istream& operator >> (istream& input, String& a)  
 {  
      input>>a.kata;  
      return input;  
 }  
   
 String& operator + (String& a, String& b)  
 {  
      strcpy(temp.kata,a.kata);  
      strcat(temp.kata,b.kata);  
      return temp;  
 }  
   
 ostream& operator << (ostream& out, String& a)  
 {  
      out<<a.kata;  
      return out;  
 }  
   
 int operator > (String& a, String& b)  
 {  
      int flag=0;  
      if(strcmp(a.kata,b.kata)>0)flag=1;  
      return flag;  
 }  
   
 int operator < (String& a, String& b)  
 {  
      int flag=0;  
      if(strcmp(a.kata,b.kata)<0)flag=1;  
      return flag;  
 }  
   
 int operator == (String& a, String& b)  
 {  
      int flag=0;  
      if(strcmp(a.kata,b.kata)==0)flag=1;  
      return flag;  
 }  
   
 void main() {  
  constream cetak;  
  String A,B;  
  cetak.clrscr();  
       cetak<<setclr(7);  
       cetak<<setxy(2,1)<<"PRogRam FriEnD SedERhaNa";  
       cetak<<setxy(2,2)<<"ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ";  
       cetak<<setxy(2,4)<<"Input kalimat pertama [max 20]: ";clreol();  
       cin>>A;  
       cetak<<setxy(2,6)<<"Input kalimat kedua [max 20]: ";clreol();  
       cin>>B;  
  cetak<<endl;  
  if(A<B) cetak<<setxy(2,8)<<A<<" lebih kecil dari "<<B;  
  else if(A>B) cetak<<setxy(2,8)<<A<<" lebih besar dari "<<B;  
  else if(A==B) cetak<<setxy(2,10)<<A<<" sama dengan "<<B;  
  cetak<<setxy(2,12)<<A<<" + "<<B<<" = "<<A+B;  
  getch();  
 }  
   
   
 //--Save file in .CPP