Βίντεο: Writing 2D Games in C using SDL by Thomas Lively 2024
Με ένα πρότυπο μαθηματικά, που συνήθως χρειάζονται πρόσβαση σε μια πληθώρα υπολογισμών, αλλά μπορεί να χρησιμοποιήσει μόνο ένα ή δύο από τους υπολογισμούς αυτούς σε μια στιγμή. Για παράδειγμα, αν κάποιος υπολογίζει την υποθήκη σας, αυτός ή αυτή δεν χρειάζεται να γνωρίζει τον υπολογισμό της απόσβεσης. Ωστόσο, το άτομο μπορεί να χρειαστεί τον υπολογισμό της απόσβεσης όταν συνεργάζεται με τον επόμενο πελάτη.
Εν ολίγοις, οι υπολογισμοί έχουν όλα ένα σκοπό και χρειάζεστε όλα αυτά, αλλά δεν τα χρειάζεστε όλα ταυτόχρονα. Λόγω του τρόπου με τον οποίο χρησιμοποιείτε πρότυπα μαθηματικών, λειτουργούν καλύτερα ως μια σειρά προτύπων λειτουργίας. Το παράδειγμα MathTemplate δείχνει πώς να δημιουργήσετε τη σειρά λειτουργιών.
#include #include using namespace std; πρότυπο T Area (ύψος T, μήκος T) {ύψος επιστροφής * μήκος;} const διπλό PI = 4. 0 * atan (1.0); πρότυπο T CircleArea (ακτίνα T) {διπλό αποτέλεσμα? αποτέλεσμα = ΡΙ * ακτίνα * ακτίνα; // Αυτή η έκδοση περικόπτει την τιμή. αποτέλεσμα επιστροφής (T),} πρότυπο T TriangleArea (T βάση, ύψος T) {διπλό αποτέλεσμα? αποτέλεσμα = βάση * ύψος * 0. 5; (T) αποτέλεσμα}} int main () {cout << "4 x 4 Περιοχές:" << endl; cout << "square:" << περιοχή (4, 4) << endl; cout << "κύκλος:" << circleArea (2) << endl; cout << "τρίγωνο:" << triangleArea (4, 4) << endl; cout << "χρησιμοποιώντας μια τιμή pi από:" << pI << endl; επιστρέψει 0?}
Οι υπολογισμοί θα μπορούσαν να αποτελούνται από κάθε υπολογισμό μαθηματικών - το σημείο του παραδείγματος είναι ότι χρησιμοποιώντας τις λειτουργίες κάνει κάθε έναν από τους υπολογισμούς διακριτά, εύκολο στη χρήση και εύκολο να διαχειριστεί. Όταν εκτελείτε αυτό το παράδειγμα, βλέπετε την ακόλουθη έξοδο:
4 Χ 4 περιοχές: Πλατεία: 16 Κύκλος: 12 Τρίγωνο: 8 Χρησιμοποιώντας την τιμή του π της: 3. 14159
Σημειώστε ότι circlearea (2) χρησιμοποιεί το μισό της αξίας των άλλων υπολογισμών ως είσοδο. Αυτό συμβαίνει επειδή υπολογίζετε την περιοχή ενός κύκλου χρησιμοποιώντας την εξίσωση pi x r 2 .
Για λόγους συνέπειας, μπορείτε να αλλάξετε την εξίσωση κύκλου για να διαβάσετε έτσι:
ακτίνα = ακτίνα / 2; αποτέλεσμα = ΡΙ * ακτίνα * ακτίνα;
Διαιρώντας την είσοδο από 2, αλλάζοντας ουσιαστικά την διάμετρο σε μια ακτίνα, σημαίνει ότι θα μπορούσε να καλέσει την εξίσωση χρησιμοποιώντας τον ίδιο αριθμό όπως όλες τις άλλες υπολογισμούς περιοχή: circlearea (4). Όποια προσέγγιση επιλέγετε, πρέπει να τεκμηριώσετε πώς λειτουργεί το πρότυπο έτσι ώστε άλλοι προγραμματιστές να γνωρίζουν πώς να το χρησιμοποιούν.
Θα πρέπει επίσης να σημειωθεί ότι ο κύκλος και τρίγωνο υπολογισμούς εκτελέσει ένα κομμάτι του τύπου καταναγκασμού για να εξασφαλιστεί ότι ο χρήστης παίρνει τα αναμενόμενα αποτελέσματα πίσω από την τροποποίηση της δήλωσης απόδοσης για να διαβάσετε επιστροφής (Τ) αποτέλεσμα?. Οι μετατροπές τύπου είναι απαραίτητες για να αποτρέψετε τη δημιουργία προειδοποιητικών μηνυμάτων από τα πρότυπα.Είναι σημαντικό να σημειωθεί ότι η προσέγγιση που χρησιμοποιείται στο παράδειγμα περικόπτει το αποτέλεσμα όταν το πρότυπο επιστρέφει ένα int.