Σε αυτό το άρθρο, θα μάθετε να εργάζεστε με απαρίθμηση (enum). Επίσης, θα μάθετε πού χρησιμοποιούνται συνήθως τα ποσά στον προγραμματισμό C ++.
Η απαρίθμηση είναι ένας καθορισμένος από τον χρήστη τύπος δεδομένων που αποτελείται από ακέραιες σταθερές. Για να ορίσετε μια απαρίθμηση, χρησιμοποιείται λέξη-κλειδί enum .
enum σεζόν (άνοιξη, καλοκαίρι, φθινόπωρο, χειμώνας)
Εδώ, το όνομα της απαρίθμησης είναι σεζόν.
Και, η άνοιξη, το καλοκαίρι και ο χειμώνας είναι αξίες της εποχής τύπου.
Από προεπιλογή, η άνοιξη είναι 0, το καλοκαίρι είναι 1 και ούτω καθεξής. Μπορείτε να αλλάξετε την προεπιλεγμένη τιμή ενός στοιχείου enum κατά τη δήλωση (εάν είναι απαραίτητο).
enum σεζόν (άνοιξη = 0, καλοκαίρι = 4, φθινόπωρο = 8, χειμώνας = 12);
Αριθμητική δήλωση τύπου
Όταν δημιουργείτε έναν απαριθμημένο τύπο, δημιουργείται μόνο σχεδιάγραμμα για τη μεταβλητή. Δείτε πώς μπορείτε να δημιουργήσετε μεταβλητές τύπου enum.
enum boolean (ψευδές, αληθινό); // εσωτερική λειτουργία enum boolean check;
Εδώ, δημιουργείται ένας μεταβλητός έλεγχος τύπου enum boolean
.
Εδώ είναι ένας άλλος τρόπος για να δηλώσετε την ίδια μεταβλητή ελέγχου χρησιμοποιώντας διαφορετική σύνταξη.
enum boolean (false, true) έλεγχος;
Παράδειγμα 1: Τύπος απαρίθμησης
#include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; )
Παραγωγή
Ημέρα 4
Παράδειγμα 2: Αλλαγή της προεπιλεγμένης τιμής των αθροισμάτων
#include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )
Παραγωγή
Καλοκαίρι = 4
Γιατί χρησιμοποιούνται τα αθροίσματα στον προγραμματισμό C ++;
Μια μεταβλητή enum παίρνει μόνο μία τιμή από πολλές πιθανές τιμές. Παράδειγμα για να το δείξουμε,
#include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; )
Παραγωγή
Μέγεθος της μεταβλητής enum 4 byte.
Είναι επειδή το μέγεθος ενός ακέραιου είναι 4 bytes .;
Αυτό καθιστά το enum μια καλή επιλογή για εργασία με σημαίες.
Μπορείτε να ολοκληρώσετε την ίδια εργασία χρησιμοποιώντας δομές C ++. Ωστόσο, η εργασία με τα αθροίσματα σας δίνει αποτελεσματικότητα και ευελιξία.
Πώς να χρησιμοποιήσετε τα αθροίσματα για σημαίες;
Ας πάρουμε ένα παράδειγμα,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Ας υποθέσουμε ότι σχεδιάζετε ένα κουμπί για την εφαρμογή των Windows. Μπορείτε να ορίσετε σημαίες ITALICS, BOLD και UNDERLINE ώστε να λειτουργεί με κείμενο.
Υπάρχει ένας λόγος για τον οποίο όλες οι ακέραιες σταθερές έχουν ισχύ 2 παραπάνω από τον ψευδοκώδικα.
// Σε δυαδικά ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Δεδομένου ότι οι ακέραιες σταθερές έχουν ισχύ 2, μπορείτε να συνδυάσετε δύο ή περισσότερες σημαίες ταυτόχρονα χωρίς αλληλεπικάλυψη χρησιμοποιώντας bitwise Ή | χειριστής. Αυτό σας επιτρέπει να επιλέξετε δύο ή περισσότερες σημαίες ταυτόχρονα. Για παράδειγμα,
#include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; )
Παραγωγή
5
Όταν η έξοδος είναι 5, γνωρίζετε πάντα ότι χρησιμοποιείται έντονη και υπογράμμιση.
Επίσης, μπορείτε να προσθέσετε σημαία στις απαιτήσεις σας.
if (myDesign & ITALICS) (// κωδικός για πλάγια γράμματα)
Εδώ, προσθέσαμε πλάγια γράμματα στο σχεδιασμό μας. Σημείωση, μόνο ο κώδικας για πλάγιους χαρακτήρες γράφεται μέσα στη δήλωση if.
Μπορείτε να πετύχετε σχεδόν οτιδήποτε στον προγραμματισμό C ++ χωρίς να χρησιμοποιήσετε απαριθμήσεις. Ωστόσο, μπορεί να είναι αρκετά βολικό σε ορισμένες περιπτώσεις. Αυτό διαφοροποιεί τους καλούς προγραμματιστές από τους σπουδαίους προγραμματιστές.