|
|
Publicēts 04.10.2014 20:45:19
|
|
|

Augsta līmeņa valodās mēs izmantojam funkciju pārslodzi, kas tiek izmantota funkcijās ar dažādām funkcijām, bet ar vienādu parametru skaitu, un veidnes ir nepieciešamas dažādiem tipiem un vienādam parametru skaitam
C++ sīklietotne
- #include<iostream>
- using namespace std;
- template <class T>
- T max(T a,T b)
- {
- return a>b?a:b;
- }
- int main()
- {
- int a,b;cin>>a>>b;
- cout<<max(a,b);
- return 0;
- }
Kopēt kodu Šis ir vienkāršs piemērs: atslēgvārdu veidne<klase T> ir veidnes struktūras sākums, tāpēc, meklējot maksimālo vērtību, mums nav atkārtoti jāraksta vairāki C++ kodi ar vienu un to pašu funkciju Ņemiet vērā, ka, izsaucot funkciju, tās tips tiek automātiski saskaņots. Tas nav jāparāda. Iepriekš minētais ir visvienkāršākais lietojums, taču mēs saskarsimies ar šādām situācijām
- #include<iostream>
- using namespace std;
- template <class T,class E>
- E max(T a,E b)
- {
- return a>b?a:b;
- }
- int main()
- {
- int a;float b;cin>>a>>b;
- cout<<max(a,b);
- return 0;
- }
Kopēt kodu Ko darīt, ja mūsu funkcijai ir nepieciešami divi dažādi veidi, es domāju, ka jūs to varat saprast pēc iepriekš minētā koda izlasīšanas. Bet jebkurā gadījumā viņiem ir kopīgs tas, ka veidi tiek automātiski saskaņoti. Faktiski mums ir arī kļūdas, ja mēs nevaram labi saskaņot tipu, tas ir, "buļļa galva nav pareiza", tad kompilatora automātiskā atbilstība mainīs parametru tipu saskaņā ar netiešā tipa konvertēšanas noteikumiem, kas galu galā novedīs pie rezultāta precizitātes zuduma. Apskatiet kodu, varat izmēģināt.
- #include<iostream>
- using namespace std;
- template <class T,class E>
- E max(T a,E b)
- {
- return a>b?a:b;
- }
- int main()
- {
- int a;float b;cin>>a>>b;
- cout<<max(a,b);
- return 0;
- }
Kopēt kodu Iepriekš minētais saturs nav ļoti grūti, bet ir arī daudzas vietas, kuras var izpētīt, es nezinu, kādi ir jūsu viedokļi |
|
Iepriekšējo:c Mini programma, ko rakstīja InlineNākamo:Es ievietoju logotipu, kas izveidots manam forumam, un parādīju to visiem!
|