Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyesuaikan Output untuk Kelas C Tersuai Saya Menggunakan Operator Overloading?

Bagaimanakah Saya Boleh Menyesuaikan Output untuk Kelas C Tersuai Saya Menggunakan Operator Overloading?

Barbara Streisand
Barbara Streisandasal
2024-12-26 11:41:10652semak imbas

How Can I Customize Output for My Custom C   Class Using 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn