|
|
Közzétéve 2014. 10. 04. 20:45:19
|
|
|

A felsőfokú nyelvekben a overloadinget használjuk a függvényekhez, amit különböző függvényekkel, de ugyanannyi paraméterrel rendelkező függvényekben alkalmazzák, és különböző típusokhoz és ugyanannyi paraméterhez sablonokra van szükség
C++ applet
- #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;
- }
Kód másolása Ez egy egyszerű példa: a kulcsszava<osztály T> egy sablonstruktúra kezdete, így nem kell több C++ kódot írnunk ugyanazzal a funkcióval ismétlődve a maximális érték keresése során Fontos megjegyezni, hogy ha függvényt hívnak, a típusa automatikusan egyezik. Nem kell megmutatni. A fentiek a legalapvetőbb használat, de a következő helyzetekkel találkozunk
- #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;
- }
Kód másolása Mit tegyünk, ha a függvényünknek két különböző típusra van szüksége, szerintem megértheted, ha elolvasod a fenti kódot. Mindenesetre az a közös bennük, hogy a típusok automatikusan összeegyeznek. Valójában vannak hibáink is, ha nem tudjuk jól egyeztetni a típust, vagyis "a bika feje nincs rendben", akkor a fordító automatikus párosítása megváltoztatja a paramétertípust az implicit típusátalakítás szabályai szerint, ami végül az eredmény pontosságának csökkenéséhez vezet. Nézd meg a kódot, megpróbálhatod.
- #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;
- }
Kód másolása A fenti tartalom nem túl nehéz, de sok helyet lehet felfedezni, nem tudom, mi a véleményed |
|
Előző:c Mini program, amelyet Inline írtKövetkező:Feltettem egy logót, amit a fórumomhoz készítettem, és mindenkinek megmutattam!
|