This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:class_templates_specialization [2019/05/14 11:30] gthanos [Εξειδίκευση της κλάσης Box στην περίπτωση που η παράμετρος είναι δείτης σε χαρακτήρα] |
cpp:class_templates_specialization [2020/05/18 15:36] gthanos [Εξειδίκευση της κλάσης Box στην περίπτωση που η παράμετρος είναι δείτης σε χαρακτήρα] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Εξειδίκευση ενός υφιστάμενου template ====== | ====== Εξειδίκευση ενός υφιστάμενου template ====== | ||
| - | ===== Εξειδίκευση της κλάσης Box στην περίπτωση που η παράμετρος είναι δείτης ===== | + | ===== Εξειδίκευση της κλάσης Box στην περίπτωση που η παράμετρος είναι δείκτης ===== |
| Συχνά είναι απαραίτητο να προδιαγράψουμε διαφορετική λειτουργικότητα σε ένα template με βάση τον τύπο των δεδομένων που θα εισαχθεί τελικά στην κλάση. Για παράδειγμα, | Συχνά είναι απαραίτητο να προδιαγράψουμε διαφορετική λειτουργικότητα σε ένα template με βάση τον τύπο των δεδομένων που θα εισαχθεί τελικά στην κλάση. Για παράδειγμα, | ||
| Line 114: | Line 114: | ||
| </ | </ | ||
| - | ===== Εξειδίκευση της κλάσης Box στην περίπτωση που η παράμετρος είναι δείτης σε χαρακτήρα ===== | + | ===== Εξειδίκευση της κλάσης Box στην περίπτωση που η παράμετρος είναι δείκτης σε χαρακτήρα ===== |
| Το παραπάνω παράδειγμα είναι ικανοποιητικό εάν περαστεί ως δείκτης ένα αντικείμενο τύπου **int* ** ή **Student* **, όμως δεν είναι ικανοποιητικό εάν περαστεί ένας δείκτης τύπου **char* ** που αντιπροσωπεύει ένα C string. Σε αυτή την περίπτωση δεν αρκεί να δεσμευθεί η μνήμη για ένα χαρακτήρα, | Το παραπάνω παράδειγμα είναι ικανοποιητικό εάν περαστεί ως δείκτης ένα αντικείμενο τύπου **int* ** ή **Student* **, όμως δεν είναι ικανοποιητικό εάν περαστεί ένας δείκτης τύπου **char* ** που αντιπροσωπεύει ένα C string. Σε αυτή την περίπτωση δεν αρκεί να δεσμευθεί η μνήμη για ένα χαρακτήρα, | ||
| Line 202: | Line 202: | ||
| </ | </ | ||
| + | <WRAP todo 80% center round> | ||
| + | Στον παραπάνω κώδικα αντικαταστήστε την εντολή ''# | ||
| + | </ | ||