ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) 1
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης CreativeCommons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Άσκηση 1... 4 Άσκηση 2... 4 Άσκηση 3... 5 Άσκηση 4... 5 Άσκηση 5... 6 Άσκηση 6... 6 Άσκηση 7... 7 Άσκηση 8... 7 Άσκηση 9... 8 Άσκηση 10... 8 3
Άσκηση 1 Ο προσδιοριστής προσπέλασης protected σε μεταβλητή ή συνάρτηση μιας κλάσης τι επιτρέπει; Σωστή Απάντηση Άσκησης 1: Την απευθείας πρόσβαση στην μεταβλητή ή συνάρτηση από τα τμήματα του προγράμματος που βρίσκονται εντός της κλάσης καθώς και από εκείνα που βρίσκονται σε κλάσεις-απογόνους της. Λανθασμένη Απάντηση Άσκησης 1: Την απευθείας πρόσβαση στην μεταβλητή ή συνάρτηση από όλα τα τμήματα του προγράμματος που βρίσκονται εκτός της κλάσης. Λανθασμένη Απάντηση Άσκησης 1: Την απευθείας πρόσβαση στην μεταβλητή ή συνάρτηση από εκείνα τα τμήματα του προγράμματος που έχουν επίσης τον προσδιοριστή protected. Λανθασμένη Απάντηση Άσκησης 1: Την απευθείας πρόσβαση στην μεταβλητή ή συνάρτηση από εκείνα τα τμήματα της κλάσης που έχουν επίσης τον προσδιοριστή protected. Άσκηση 2 Ποιά συνάρτηση μιας κλάσης δεν μπορεί να υπερφορτωθεί; Σωστή Απάντηση Άσκησης 2: Ο destructor. Λανθασμένη Απάντηση Άσκησης 2: Ο constructor. Λανθασμένη Απάντηση Άσκησης 2: Κάθε συνάρτηση που επιστρέφει αποτέλεσμα. Λανθασμένη Απάντηση Άσκησης 2: 4
Κάθε συνάρτηση που δεν επιστρέφει αποτέλεσμα. Άσκηση 3 Ποιά συνάρτηση μιας κλάσης πρέπει να έχει προσδιοριστή προσπέλασης public; Απάντηση Άσκησης 3: Ο constructor. Λανθασμένη Απάντηση Άσκησης 3: Κάθε συνάρτηση που επιστρέφει αποτέλεσμα. Λανθασμένη Απάντηση Άσκησης 3: Κάθε συνάρτηση που δεν επιστρέφει αποτέλεσμα. Λανθασμένη Απάντηση Άσκησης 3: Καμμία, γιατί μόνο οι μεταβλητές μπορούν να έχουν προσδιοριστή public. Άσκηση 4 Για να αναφερθούμε στη μεταβλητή x ενός namespace που ονομάζεται MySpace, γράφουμε: Απάντηση Άσκησης 4: MySpace::x Λανθασμένη Απάντηση Άσκησης 4: x::myspace Λανθασμένη Απάντηση Άσκησης 4: MySpace:x Λανθασμένη Απάντηση Άσκησης 4: x::myspace 5
Άσκηση 5 Όταν μια κλάση είναι αφηρημένη (abstract): Απάντηση Άσκησης 5: δεν μπορούμε να δημιουργήσουμε αντικείμενά της Λανθασμένη Απάντηση Άσκησης 5: έχει πάνω από έναν destructor Λανθασμένη Απάντηση Άσκησης 5: παραλείψαμε να φτιάξουμε constructor γι αυτήν Λανθασμένη Απάντηση Άσκησης 5: ξεχάσαμε να δημιουργήσουμε αντικείμενά της Άσκηση 6 Όταν γράφουμε το σώμα μιας συνάρτησης (μεθόδου) που ανήκει σε κλάση μέσα στην ίδια την κλάση, τότε αυτή η συνάρτηση θα είναι: Απάντηση Άσκησης 6: inline Λανθασμένη Απάντηση Άσκησης 6: const Λανθασμένη Απάντηση Άσκησης 6: public Λανθασμένη Απάντηση Άσκησης 6: protected 6
Άσκηση 7 Πολλαπλή κληρονομικότητα έχουμε όταν: Απάντηση Άσκησης 7: μια κλάση έχει πολλές κλάσεις-γονείς Λανθασμένη Απάντηση Άσκησης 7: μια κλάση έχει πολλές κλάσεις-απογόνους Λανθασμένη Απάντηση Άσκησης 7: μια κλάση έχει πολλές φιλικές συναρτήσεις Λανθασμένη Απάντηση Άσκησης 7: μια κλάση έχει πολλές φιλικές κλάσεις Άσκηση 8 Γράψτε την εντολή για δυναμική δέσμευση μνήμης για έναν ακέραιο, που έστω ότι ονομάζεται x. Απάντηση Άσκησης 8: x = new int; Λανθασμένη Απάντηση Άσκησης 8: x = int new; Λανθασμένη Απάντηση Άσκησης 8: x = new int 1; Λανθασμένη Απάντηση Άσκησης 8: x = int new 1; 7
Άσκηση 9 Η εντολή για αποδεέσμευση μνήμης είναι η: Απάντηση Άσκησης 9: delete Λανθασμένη Απάντηση Άσκησης 9: clear Λανθασμένη Απάντηση Άσκησης 9: remove Λανθασμένη Απάντηση Άσκησης 9: restore Άσκηση 10 Μια φιλική (friend) συνάρτηση προς μια κλάση: Απάντηση Άσκησης 10: μπορεί να προσπελάσει άμεσα μεταβλητές και συναρτήσεις της κλάσης αυτής ακόμη κι αν αυτές έχουν προσδιοριστή προσπέλασης private Λανθασμένη Απάντηση Άσκησης 10: μπορεί να προσπελάσει άμεσα μόνο μεταβλητές της κλάσης αυτής και όχι συναρτήσεις της Λανθασμένη Απάντηση Άσκησης 10: μπορεί να προσπελάσει άμεσα μόνο συναρτήσεις της κλάσης αυτής και όχι μεταβλητές της Λανθασμένη Απάντηση Άσκησης 10: δεν μπορεί να έχει παραμέτρους 8