Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2024
Templat struktur mempunyai banyak kegunaan yang menarik, seperti membuat repositori data yang tidak bergantung pada jenis tertentu. Contoh StrukturTemplate di sini menunjukkan satu penggunaan sedemikian.
# include menggunakan namespace std; struktur Struktur volum {ketinggian T; T lebar; T panjang; Jilid () {ketinggian = 0; lebar = 0; panjang = 0;} getvolume T () {kembali ketinggian * lebar * panjang;} getvolume T (T H, T W, T L) {ketinggian = H; lebar = W; panjang = L; ketinggian pulangan * lebar * panjang;}}; int main () {Volume first; cout << "volum pertama:" << pertama. getvolume () << endl; pertama. ketinggian = 2; pertama. lebar = 3; pertama. panjang = 4; cout << "volum pertama:" << pertama. getvolume () << endl; Jilid kedua; cout << "volume kedua:" << kedua. getvolume (2. 1, 3. 2, 4. 3) << endl; cout << "ketinggian:" << kedua. ketinggian << endl; cout << "lebar:" << kedua. lebar << endl; cout << "panjang:" << kedua. panjang << akhir; kembali 0;}
Dalam kes ini, struktur tersebut mengandungi nilai ketinggian, lebar, dan panjang data yang dapat digunakan oleh kod untuk menentukan jumlah. Struktur ini termasuk pembina untuk memulakan nilai-nilai, jadi walaupun seseorang memanggil getvolume () tanpa memulakan struktur, tidak ada yang buruk akan berlaku.
Struktur membolehkan akses bebas bagi setiap nilai data. Anda boleh menetapkan atau mendapatkannya seperti yang diperlukan.
Fungsi getvolume () adalah overloaded. Anda boleh memanggilnya dengan atau tanpa nilai input. Kod utama () menguji struktur dengan teliti. Berikut adalah apa yang anda lihat sebagai output dari contoh ini:
Volume pertama: 0 Jilid pertama: 24 Jilid kedua: 28. 896 Tinggi: 2. 1 Lebar: 3. 2 Panjang: 4. 3
Anda boleh menggunakan struktur untuk satu lagi tujuan yang menarik. Piawai C ++ mengatakan anda tidak boleh membuat template typedef. Sebagai contoh, kod berikut menghasilkan ralat semasa anda cuba menyusunnya:
template typedef peta MyDef;
Apabila anda cuba menyusun kod ini dalam Kod:: Blok, anda melihat ralat berikut:
ralat: pengakuan templat 'typedef'
Walau bagaimanapun, anda boleh menentukan typedef dalam template struktur. Kod contoh StrukturTemplate2 di sini menunjukkan bagaimana.
#include #include using namespace std; template struct MyDef {Typedef Map Type;}; int main () {MyDef:: Taip perkahwinan; perkahwinan ["Tom"] = "Suzy"; perkahwinan ["Harry"] = "Harriet"; cout << perkahwinan ["Tom"] << endl; cout << perkahwinan ["Harry"] << endl; kembali 0;}
Contoh ini mengatasi had C ++ dengan meletakkan typedef dalam struct, MyDef. Struktur yang sama dapat memegang jumlah entri typedef.
Menggunakan typedef dengan cara ini menjadikannya lebih mudah untuk berfungsi dengan peta.Apa yang anda perlu bimbang ialah jenis nilai - jenis utama sudah ditakrifkan sebagai rentetan.