Video: Section 9 2024
Cu un șablon de matematică, de obicei, aveți nevoie de acces la o multitudine de calcule, dar puteți folosi unul sau două dintre aceste calcule la un moment dat. De exemplu, dacă cineva vă calculează ipoteca, el sau ea nu trebuie să cunoască calculul amortizării. Cu toate acestea, persoana poate avea nevoie de calculul amortizării atunci când lucrează cu următorul client.
Pe scurt, calculele au toate un scop și aveți nevoie de ele toate, dar nu aveți nevoie de ele toate în același timp. Din cauza modului în care folosiți șabloane de matematică, acestea funcționează cel mai bine ca o serie de șabloane de funcții. Exemplul MathTemplate arată modul de creare a seriei de funcții.
#include #include folosind namespace std; șablon T Zona (înălțimea T, lungimea T) {înălțimea de întoarcere * lungimea;} const dublu PI = 4. 0 * atan (1.0); șablon T CircleArea (rază T) {rezultat dublu; rezultat = raza PI * raza *; // Această versiune trunchiază valoarea. rezultatul return (T);} șablon T TriangleArea (baza T, înălțimea T) {rezultat dublu; rezultat = bază * înălțime * 0. 5; rezultatul return (T);} int main () {cout << "4 x 4 Domenii:" << endl; cout << "square:" << zona (4, 4) << endl; cout << "cerc:" << circleArea (2) << endl; cout << "triunghi:" << triangleArea (4, 4) << endl; cout << "folosind o valoare de pi a:" << pI << endl; retur 0;}
Calculele ar putea consta în orice calcul matematic - punctul din exemplu este acela că utilizarea funcțiilor face ca fiecare dintre calcule să fie discret, ușor de utilizat și ușor de gestionat. Când executați acest exemplu, veți vedea următoarea ieșire:
4 X 4 Domenii: Pătrat: 16 Cerc: 12 Triunghi: 8 Folosind o valoare pi: 3. 14159
Rețineți că CircleArea (2) ca intrare. Acest lucru se datorează faptului că calculați aria unui cerc utilizând ecuația pi x r 2 .
Pentru consistență, puteți schimba ecuația cercului astfel:
radius = radius / 2; rezultat = raza PI * raza *;
Împărțirea intrării cu 2, modificând în mod esențial diametrul la o rază, înseamnă că ați putea apela ecuația utilizând același număr ca și toate celelalte calcule ale zonei: CircleArea (4). Indiferent de abordarea pe care o alegeți, trebuie să documentați modul în care șablonul funcționează astfel încât ceilalți dezvoltatori să știe cum să îl utilizeze.
De asemenea, trebuie să rețineți că calculele de cerc și triunghi realizează un tip de coerciție de tip pentru a se asigura că utilizatorul obține rezultatele așteptate înapoi prin modificarea instrucțiunii return pentru a citi rezultatul returnării (T);. Conversiile de tip sunt necesare pentru a împiedica șabloanele să genereze mesaje de avertizare.Este important să rețineți că abordarea folosită în exemplu trunchiază rezultatul când șablonul întoarce un int.