Latest web development tutorials

C ++ operator overloading input dan output

C ++ fungsi overloading dan operator overloading C ++ fungsi overloading dan operator overloading

C ++ dapat menggunakan operator ekstraksi aliran >> dan operator aliran penyisipan << untuk input dan output built-in tipe data. Anda dapat menimpa ekstraksi aliran dan aliran Operator operator penyisipan untuk memanipulasi objek dan tipe data yang ditetapkan pengguna lainnya.

Di sini, penting, kita perlu operator overloading fungsi dideklarasikan fungsi teman kelas, jadi kami tidak bisa membuat objek dan memanggil fungsi langsung.

Contoh berikut menunjukkan bagaimana operator ekstraksi kelebihan beban >> dan operator << insert.

#include <iostream>
using namespace std;
 
class Distance
{
   private:
      int feet;             // 0 到无穷
      int inches;           // 0 到 12
   public:
      // 所需的构造函数
      Distance(){
         feet = 0;
         inches = 0;
      }
      Distance(int f, int i){
         feet = f;
         inches = i;
      }
      friend ostream &operator<<( ostream &output, 
                                       const Distance &D )
      { 
         output << "F : " << D.feet << " I : " << D.inches;
         return output;            
      }

      friend istream &operator>>( istream  &input, Distance &D )
      { 
         input >> D.feet >> D.inches;
         return input;            
      }
};
int main()
{
   Distance D1(11, 10), D2(5, 11), D3;

   cout << "Enter the value of object : " << endl;
   cin >> D3;
   cout << "First Distance : " << D1 << endl;
   cout << "Second Distance :" << D2 << endl;
   cout << "Third Distance :" << D3 << endl;


   return 0;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

$./a.out
Enter the value of object :
70
10
First Distance : F : 11 I : 10
Second Distance :F : 5 I : 11
Third Distance :F : 70 I : 10

C ++ fungsi overloading dan operator overloading C ++ fungsi overloading dan operator overloading