Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyesuaikan Output untuk Kelas C Tersuai Saya Menggunakan Operator Overloading?
Menyesuaikan Gelagat Output dengan Operator Terlebih Muatan untuk Kelas Tersuai
Dalam C , pengendali pemasukan aliran cout (<<) membenarkan kemudahan output jenis data terbina dalam. Walau bagaimanapun, apabila berurusan dengan kelas tersuai, seseorang mungkin menghadapi cabaran untuk mengeluarkan maklumat yang bermakna. Soalan ini menangani isu mencetak nilai daripada kelas yang ditentukan pengguna (myclass) menggunakan cout.
Operator Lebih Muatan<< untuk Output Tersuai
Untuk mendayakan output tersuai untuk kelas anda, anda boleh membebankan operator<< untuk kelas anda. Dengan menentukan pengendali anda sendiri<< fungsi, anda boleh menentukan cara objek kelas anda harus diformat dan dipaparkan apabila dimasukkan ke dalam strim output.
Pertimbangkan contoh berikut:
struct myclass { int i; }; std::ostream &operator<<(std::ostream &os, myclass const &m) { return os << m.i; } int main() { myclass x(10); std::cout << x; return 0; }
Dalam contoh ini, kami membebankan operator< < untuk struktur myclass. Pengendali kami<< pelaksanaan hanya memasukkan nilai ahli data i ke dalam aliran keluaran. Ini membolehkan kami mencetak nilai integer yang dikaitkan dengan objek jenis myclass menggunakan cout.
Contoh Penggunaan
Dengan operator ini membebankan berlebihan, kami kini boleh menggunakan cout untuk mengeluarkan nilai dari myclass:
myclass x(10); std::cout << x; // prints "10" to the console
Begitu juga, jika kita mempunyai objek myclass yang memegang nilai apungan, operator kami yang terlebih beban<< akan memformat dan mengeluarkan nilai itu dengan betul juga.
Dengan lebihan operator<< untuk kelas tersuai, pembangun mendapat fleksibiliti untuk menentukan cara objek mereka dipaparkan dalam aliran keluaran. Ini membolehkan output tersuai dan bermaklumat untuk jenis yang ditentukan pengguna.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Output untuk Kelas C Tersuai Saya Menggunakan Operator Overloading?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!