U kunt templated functies zoals je kunt normale functies overbelasten . Op deze manier kan men functienaam verwerken generieke data types en een variabel aantal parameters , mits deze parameters zijn van hetzelfde gegevenstype . De programmeur heeft minder te denken over omdat de compiler zorgt voor de controle van het type en overeenkomt met een functie-oproep naar een functie handtekening . Functie template overbelasting helpt bij het verhogen van de onttrekking van functiegebruik . Wat je Need Geavanceerd C + + kennis C + + compiler met IDE , zoals Visual Studio 2008 Toon Meer Aanwijzingen Beoordeling 1 hoe te functioneren templates gebruiken in C + + als je foundation op templates is wankel . Je moet templates weten voordat je deze tutorial kunt proberen . Kopen van 2 Gebruik het trefwoord "klasse" of " typenaam " in de sjabloon om de algemene soorten opgeven . De twee zoekwoorden hebben verschillende gebruik . Maar voor de toepassing van deze tutorial , maakt het niet uit welke zoekwoorden je gebruikt . Overload 3 een templated functie zo vaak als er invoerargumenten u het wilt verwerken . U moet dit doen in de verklaring , alsmede de definitie . Het voorbeeld hieronder toont de drie verklaringen van een functie, die 1-3 soorten gegevens van hetzelfde type naar de standaard uitvoer kan afdrukken : sjabloon leegte Print ( const T t1 ) ; template < br > void Print ( const T t1 , const T t2 ) ; template leegte Print ( const T t1 , const T t2 , const T t3 ) ; 4 uitvoering van de overbelasting algoritmes als volgt : sjabloon leegte Print ( const T t1 ) { cout } template leegte Print ( const T t1 , const T t2 ) { < br > cout } template leegte Print ( const T t1 , const T t2 , const T t3 ) { cout } Call Print 5 ( ) van main ( ) door overbelasting met 1-3 parameters en met elke fundamentele gegevenstype . Merk op dat u de functie met of zonder punthaken of typ de specificatie kan bellen : int main ( ) { Print ( 4.f ) ; //prints een vlotter Afdrukken < > ( 23 , 37 ) ; //prints twee integers Print ( ' c ' , 'o ' , ' m ' ) ; //prints drie chars } < br >
|