Video: Membuat Tampilan Flat Design Menu Utama Aplikasi Perpustakaan - VB Net, CSharp (C#) Tutorial 2024
Standar C ++ library menyediakan satu set lengkap matematika, waktu, input / output, dan operasi DOS, untuk menyebutkan beberapa saja. Banyak program awal yang Anda pelajari sebagai pemula menggunakan fungsi string karakter yang disebut yang didefinisikan di dalam string file include .
Jenis argumen untuk banyak fungsi ini adalah tetap. Sebagai contoh, kedua argumen untuk strcpy (char *, char *) harus menjadi pointer ke string karakter yang dihentikan null - tidak ada yang masuk akal.
Ada beberapa fungsi yang berlaku untuk beberapa jenis. Perhatikan contoh fungsi maximum maximum (), yang mengembalikan maksimal dua argumen. Semua variasi berikut masuk akal:
int maximum (int n1, int n2); // kembali maks dua bilangan bulat unsigned maximum (unsigned u1, unsigned u2); double maximum (double d1, double d2); char maksimum (char c1, char c2);
Di sini, Anda ingin menerapkan maksimum () untuk keempat kasus tersebut.
Tentu saja, Anda bisa membebani maksimum () dengan semua versi yang mungkin:
double maximum (double d1, double d2) {return (d1> d2)? d1: d2;} int maksimum (int n1, int n2) {return (n1> n2)? n1: n2;} char maksimum (char c1, char c2) {return (c1> c2)? c1: c2;} // … ulangi untuk semua jenis numerik lainnya …
Pendekatan ini berhasil. Sekarang C ++ memilih yang terbaik, maksimum (int, int) , untuk referensi seperti maksimum (1, 2) . Namun, menciptakan fungsi yang sama untuk setiap jenis variabel adalah limbah kotor waktu.
Kode sumber untuk semua fungsi maksimum (T, T) mengikuti pola yang sama, di mana T adalah salah satu tipe numerik. Akan sangat mudah jika Anda bisa menulis fungsinya sekali dan membiarkan C ++ mensuplai tipe T sesuai kebutuhan saat fungsi digunakan. Sebenarnya, C ++ memungkinkan Anda melakukan ini dengan tepat. Mereka disebut definisi template .