Video: The Great Gildersleeve: Fire Engine Committee / Leila's Sister Visits / Income Tax 2024
Med en mattemall behöver du vanligtvis tillgång till en mängd beräkningar men får bara använda en eller två av dessa beräkningar åt gången. Till exempel, om någon beräknar din inteckning behöver han inte veta avskrivningsberäkningen. Personen kan dock behöva avskrivningsberäkning när man arbetar med nästa kund.
Kort sagt, beräkningarna har alla ett syfte och du behöver dem alla, men du behöver inte dem alla samtidigt. På grund av hur du använder matte mallar fungerar de bäst som en serie funktionsmallar. MathTemplate-exemplet visar hur man skapar en serie funktioner.
#include # include using namespace std; mall T Area (T höjd, T längd) {returhöjd * längd;} const dubbel PI = 4. 0 * atan (1, 0); mall T CircleArea (T-radien) {dubbelresultat; resultat = PI * radie * radie; // Denna version avkortar värdet. returnera (T) resultat;} mall T TriangleArea (T-bas, T-höjd) {dubbelt resultat; resultat = bas * höjd * 0. 5; returnera (T) resultat;} int main () {cout << "4 x 4 Områden:" << endl; cout << "square:" << area (4, 4) << endl; cout << "cirkel:" << circleArea (2) << endl; cout << "triangel:" << triangleArea (4, 4) << endl; cout << "med ett värde av pi av:" << pI << endl; returnera 0;}
Beräkningarna kan bestå av vilken matematisk beräkning som helst - exemplet är att med hjälp av funktioner gör varje beräkning diskret, enkel att använda och lätt att hantera. När du kör detta exempel ser du följande utdata:
4 X 4 Områden: Kvadrat: 16 Cirkel: 12 Triangel: 8 Använda ett värde av pi av: 3. 14159
Observera att CircleArea (2) använder halva värdet av de andra beräkningarna som input. Det beror på att du beräknar området för en cirkel med ekvationen pi x r 2 .
För konsistens kan du ändra cirkellikvationen för att läsa så här:
radie = radie / 2; resultat = PI * radie * radie;
Att dividera inmatningen med 2, väsentligen ändra diametern till en radie betyder att du kan ringa ekvationen med samma nummer som alla andra områdesberäkningar: CircleArea (4). Oavsett vilken metod du väljer, måste du dokumentera hur mallen fungerar så att andra utvecklare vet hur man använder den.
Du bör också observera att cirkel- och triangelberäkningarna utför en viss typ av tvång för att säkerställa att användaren får de förväntade resultaten tillbaka genom att ändra avkastningen för att läsa avkastning (T) resultat;. Typkonverteringarna behövs för att hålla dina mallar från att generera varningsmeddelanden.Det är viktigt att notera att den metod som används i exemplet truncates resultatet när mallen returnerar en int.