Rumah >pembangunan bahagian belakang >C++ >Penjelasan terperinci tentang parameter fungsi C++: peranan pengenalpastian jenis runtime dalam lulus parameter
Penjelasan terperinci tentang parameter fungsi C++: Peranan pengenalpastian jenis masa jalan dalam hantaran parameter
Dalam C++, hantaran parameter fungsi boleh dicapai melalui hantaran nilai, hantaran rujukan atau hantaran penunjuk. Setiap kaedah penyampaian mempunyai kelebihan dan kekurangan yang tersendiri.
Runtime Type Identification (RTTI) ialah mekanisme dalam C++ untuk mendapatkan jenis objek semasa runtime. Ia membolehkan kita menentukan jenis sebenar objek walaupun objek itu disimpan dalam penuding atau rujukan kelas asas.
Dengan menggunakan RTTI, kita boleh mencapai fungsi berikut:
passingU RT
dalam parameter RT
Panggil kaedah yang sepadan mengikut jenis objek.
Contoh Praktikal
printObject
Pertimbangkan contoh dalam kod berikut:
#include <iostream> using namespace std; class Base { public: virtual void print() { cout << "Base class print" << endl; } }; class Derived : public Base { public: void print() { cout << "Derived class print" << endl; } }; void printObject(Base* obj) { // 使用 RTTI 确定对象的实际类型 if (dynamic_cast<Derived*>(obj)) { // 如果对象是派生类类型,调用派生类方法 static_cast<Derived*>(obj)->print(); } else { // 否则,调用基类方法 obj->print(); } } int main() { Base* baseObj = new Base(); printObject(baseObj); // 输出:Base class print Derived* derivedObj = new Derived(); printObject(derivedObj); // 输出:Derived class print return 0; }🎜Dalam kes ini, fungsi 🎜 menggunakan RTTI untuk menentukan jenis sebenar objek yang dihantar kepadanya. Jika objek adalah jenis kelas terbitan, ia memanggil kaedah kelas terbitan. Jika tidak, ia memanggil kaedah kelas asas. 🎜
Atas ialah kandungan terperinci Penjelasan terperinci tentang parameter fungsi C++: peranan pengenalpastian jenis runtime dalam lulus parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!