Video: 27 EENVOUDIGE GOOCHELTRUCS 2024
Met een wiskundesjabloon hebt u meestal toegang nodig tot een schat aan berekeningen maar kunt u slechts een of twee van die berekeningen tegelijk gebruiken. Als iemand bijvoorbeeld uw hypotheek berekent, hoeft hij of zij de aflossingsberekening niet te kennen. Het is echter mogelijk dat de persoon de aflossingsberekening nodig heeft wanneer hij met de volgende klant werkt.
Kortom, de berekeningen hebben allemaal een doel en je hebt ze allemaal nodig, maar je hebt ze niet allemaal tegelijk nodig. Vanwege de manier waarop u wiskundetemplates gebruikt, werken deze het beste als een reeks functiesjablonen. Het voorbeeld van MathTemplate laat zien hoe de reeks functies kan worden gemaakt.
# include # include met name namespace std; template T Area (T-hoogte, T-lengte) {return height * length;} const double PI = 4. 0 * atan (1. 0); template T CircleArea (T radius) {dubbel resultaat; resultaat = PI * straal * straal; // Deze versie kapt de waarde af. return (T) -resultaat;} template T TriangleArea (T-basis, T-hoogte) {dubbel resultaat; resultaat = basis * hoogte * 0,5; return (T) -resultaat;} int main () {cout << "4 x 4 Areas:" << endl; cout << "square:" << area (4, 4) << endl; cout << "circle:" << circleArea (2) << endl; cout << "triangle:" << triangleArea (4, 4) << endl; cout << "met een waarde van pi van:" << pI << endl; return 0;}
De berekeningen kunnen bestaan uit elke wiskundige berekening - het punt van het voorbeeld is dat het gebruik van functies elk van de berekeningen discreet maakt, gemakkelijk te gebruiken en gemakkelijk te beheren. Wanneer u dit voorbeeld uitvoert, ziet u de volgende uitvoer:
4 X 4 Gebieden: Vierkant: 16 Cirkel: 12 Driehoek: 8 Gebruik een waarde van pi van: 3. 14159
Merk op dat CircleArea (2) de helft van de waarde van de andere berekeningen gebruikt als invoer. Dat komt omdat je het gebied van een cirkel berekent met de vergelijking pi x r 2 .
Voor consistentie kunt u de kringvergelijking zo wijzigen dat deze als volgt wordt weergegeven:
radius = radius / 2; resultaat = PI * straal * straal;
Als de invoer wordt gedeeld door 2, waardoor de diameter in feite verandert in een radius, betekent dit dat u de vergelijking met hetzelfde nummer kunt gebruiken als alle andere gebiedsberekeningen: CircleArea (4). Welke benadering u ook kiest, u moet documenteren hoe de sjabloon werkt, zodat andere ontwikkelaars weten hoe ze moeten worden gebruikt.
U moet ook opmerken dat de cirkel- en driehoekberekeningen een beetje type dwang uitvoeren om ervoor te zorgen dat de gebruiker de verwachte resultaten terugkrijgt door het resultaat van de retourverklaring te wijzigen in het leesresultaat (T);. De typeconversies zijn nodig om te voorkomen dat uw sjablonen waarschuwingsberichten genereren.Het is belangrijk op te merken dat de benadering die in het voorbeeld wordt gebruikt het resultaat afbreekt wanneer de sjabloon een int retourneert.