Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengeluarkan Nilai daripada Kelas C Tersuai Menggunakan Operator Lebih Muatan?

Bagaimanakah Saya Boleh Mengeluarkan Nilai daripada Kelas C Tersuai Menggunakan Operator Lebih Muatan?

Patricia Arquette
Lepaskan: 2024-12-29 20:15:10
asal
974 orang telah melayarinya

How Can I Output Values from Custom C   Classes Using Operator Overloading?

Nilai Pengeluaran daripada Kelas Tersuai: Menggunakan Operator<< Berlebihan

Apabila berurusan dengan kelas C tersuai, mengeluarkan nilainya terus ke konsol boleh menimbulkan cabaran. Untuk menangani perkara ini, kami boleh menggunakan operator<< terlebih beban untuk mencapai format output yang diingini.

Pertimbangkan kelas tersuai bernama "myclass." Jika anda cuba untuk mengeluarkan contoh kelas ini menggunakan cout << x, konsol mungkin memaparkan alamat atau nilai lalai yang tidak bermakna. Untuk menyesuaikan output, anda boleh membebankan operator<< untuk kelas anda.

Berikut ialah contoh:

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;
}
Salin selepas log masuk

Dalam contoh ini, operator terlampau beban<< ditakrifkan untuk jenis myclass. Apabila cout dipanggil dengan objek myclass (seperti dalam cout << x), ia memanggil operator terlampau beban<< fungsi, yang seterusnya mengembalikan ostream dengan output yang dikehendaki. Dalam kes ini, ia mengekstrak nilai integer i daripada objek myclass dan mengeluarkannya ke konsol.

Ini membolehkan anda mengeluarkan nilai daripada kelas tersuai dengan cara yang bermakna, seperti integer atau nilai titik terapung, walaupun kelas itu sendiri tidak menyokong output sedemikian secara langsung.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nilai daripada Kelas C Tersuai Menggunakan Operator Lebih Muatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan