Νέα:
Πέμπτη 28 Μαρτίου 2024

Shoutbox!

Toula Aretaki

19-02-2024 13:17
Καλημέρα,γνωρίζει κανείς εάν το πτυχίο διοίκησης επιχειρήσεων μπορούμε να πάρουμε βεβαίωση χρήσης H/Y;

Debbie422657

11-01-2024 00:11
Καλησπέρα σας, ψάχνω σημειώσεις για μαθήματα του οικονομικού. Υπάρχει κάποιος που μπορεί να με βοηθήσει;

Alexis92

31-10-2023 21:12
γερασαμε

Timos Chartios

17-08-2023 03:00
Ψάχνω ρε παιδιά την Ιωάννα μετά από χρόνια από Διοίκηση ήταν στη ΠΑΣΠ το2010. Χαθήκαμε πέρασε δεκαετία και...

elisavet

03-04-2023 14:47
Καλησπερα μετα απο καιρο μπηκα και εγω να ζητησω υλη, σημειωσεις. μακρο αγγλικα διοικ.ολ. ποιοτητας,μαρκετινγ οτι εχετε

mar99

08-03-2023 05:33
εχω τελειωσει τει σερρων 1999 διοικηση οικονομια τμημα λογιστικης απο που θα παρω μια βεβαιωση σπουδων που χρειαζομαι

ΕΥΑΓΓΕΛΙΑ@

28-02-2023 10:03
ΚΑΛΗΜΕΡΑ ΣΑΣ!
ΕΧΩ ΧΡΟΝΙΑ ΝΑ ΚΑΝΩ ΕΓΓΡΑΦΗ ΕΞΑΜΗΝΩΝ ΚΑΙ ΘΑ ΗΘΕΛΑ ΝΑ ΚΑΝΩ ΤΩΡΑ. ΜΠΟΡΕΙ ΚΑΠΟΙΟΣ ΝΑ ΓΡΑΨΕΙ ΠΩΣ ΓΙΝΕΤΑΙ?ΕΥΧΑΡΙ

sony400

07-02-2023 21:03
Άλλη μια εξεταστική έφτασε στο τέλος της σχεδόν. Εύχομαι σε όλους/ες να έφτσαν λίγο περισσότερο στον στόχο τους.

ALS

23-10-2022 17:28
Καλησπέρα!!Πέρασαν 12 χρόνια που ήμουν πρώτο έτος !! 😅

marios9

17-10-2022 11:16
Καλημέρα σε όλους.

armiertz

24-09-2022 15:44
Είμαι στην Λογιστική. Έχω να έρθω πολλά χρόνια και έχουν αλλάξει πολλά. Για αυτό θέλω σημειώσεις μπας και πάρω το πτυχίο

tonidemis

24-09-2022 00:18
Armiertz Σου έστειλα μήνυμα

armiertz

03-08-2022 12:50
Μπορεί να μου πει κανείς που μπορώ να βρω σημειώσεις των μαθημάτων γιατί η παρουσία μου στα μαθήματα είναι λίγο αδύνατη

armiertz

03-08-2022 12:49
Καλησπέρα. Είμαι καινούρια στο forum αλλά παλιά φοιτήτρια του τει που επιτέλους πήρα την απόφαση να ολοκληρώσω το πτυχίο
 

Sérmac

28-07-2022 19:25

Εμφάνιση 50 τελευταίων
Καλώς ορίσατε, Επισκέπτης. Παρακαλούμε συνδεθείτε ή εγγραφείτε. Χάσατε το email ενεργοποίησης;
28 Μαρτίου 2024, 10:33

Σύνδεση με όνομα, κωδικό και διάρκεια σύνδεσης

Μέλη
  • Σύνολο μελών: 5293
  • Τελευταία: marina23

Στατιστικά
  • Σύνολο μηνυμάτων: 83540
  • Σύνολο θεμάτων: 10650
  • Σε σύνδεση σήμερα: 16
  • Σε σύνδεση έως τώρα: 1245
  • (16 Απριλίου 2022, 00:20)

Συνδεδεμένοι
Μέλη: 0
Επισκέπτες: 30
Σύνολο: 30

Για να γραφτείτε σε κάποια ομάδα μελών, πατήστε εδώ.

Μέσα Μεταφοράς

Αστικό ΚΤΕΛ Σερρών
ΚΤΕΛ Ν. Σερρών
Δρομολόγια ΤΡΑΙΝΟΣΕ

Πρόσφατα

Υπηρεσίες ΕΔΕΤ

Εύδοξος
Okeanos
Άτλας
Ακαδημαϊκή Ταυτότητα
Σελίδες: [1] 2   Κάτω
Εκτύπωση
Θέματα εξεταστικής Ιανουαρίου 2014
0 μέλη και 1 επισκέπτης διαβάζουν αυτό το θέμα. Αναγνώστηκε 8371 φορές.
ALS
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 557
Θετικοί ψήφοι: +634

Αποσυνδεδεμένος Αποσυνδεδεμένος

C'est la vie...

22 Ιουνίου 2014, 09:37
+1

Μήπως έχει κανείς τα θέματα απ΄ τη θεωρία της εξεταστικής του Ιανουαρίου να τα ανεβάσει;
Η αν θυμάται κάποιος τι έπεσε να μας πει..
Καταγράφηκε

Think less..Live more...
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #1 - 22 Ιουνίου 2014, 13:30
+3

Να γραφεί πρόγραμμα στη γλώσσα C++, το οποίο θα επιτελεί τα ακόλουθα:
i. Θα δημιουργεί μία κλάση A_base, με μεταβλητές-μέλη δύο αλφαριθμητικά a_char_1[20], a_char_2[30] και μία
ακέραια μεταβλητή-μέλος a_int_1. Οι μεταβλητές-μέλη θα πρέπει να είναι άμεσα προσπελάσιμες από απορρέουσες από
την A_base κλάσεις αλλά όχι από κώδικα εκτός της A_base και των απορρεουσών κλάσεων.
i.1 Τα αντικείμενα της κλάσης A_base θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
i.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης A_base θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
i.3 Στα αντικείμενα της κλάσης Α_base θα γίνεται υπερφόρτωση του τελεστή ++, κατά την οποία θα αυξάνει κατά
μία μονάδα η τιμή της μεταβλητής-μέλος a_int_1.
ii. Θα δημιουργεί μία κλάση A_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση A_base, με
μεταβλητή-μέλος αριθμό κινητής υποδιαστολής μονής ακρίβειας a_float_1. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης A_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης A_der θα εκτυπώνονται μέσα από κατάλληλη συνάρτηση-
μέλος printData(), η οποία θα υπερφορτώνει την συνώνυμη συνάρτηση της κλάσης A_base.
ii.3 Η κλάση Α_der θα περιλαμβάνει συνάρτηση-μέλος prodNum(), η οποία επιστρέφει το γινόμενο των
μεταβλητών-μελών a_int_1 και a_float_1 ως αριθμό κινητής υποδιαστολής μονής ακρίβειας.
iii. Στη συνάρτηση main() θα δημιουργούνται αντικείμενα obj_1 και obj_3 κλάσης A_base, με αρχικές τιμές "John",
"Doe", 1777 και "Chris", "Mullin", 2133, αντίστοιχα. Επίσης θα δημιουργείται αντικείμενο obj_2 κλάσης A_der, με
αρχικές τιμές "Joanna", "Foe", 100, 231.673. Τα περιεχόμενα των τριών αντικειμένων θα απεικονίζονται στην οθόνη.
Ακολούθως θα εκτελούνται οι προτάσεις obj_2.prodNum; και ++obj_3; και τα περιεχόμενα του obj_3 θα
απεικονίζονται εκ νέου στην οθόνη.
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #2 - 22 Ιουνίου 2014, 13:32
+3

Να γραφεί πρόγραμμα στη γλώσσα C++, το οποίο θα επιτελεί τα ακόλουθα:
i. Θα δημιουργεί μία κλάση B_base, με μεταβλητές-μέλη δύο αριθμούς κινητής υποδιαστολής μονής ακρίβειας
b_float_1, b_float_2 και μία ακέραια μεταβλητή-μέλος b_int_1. Οι μεταβλητές-μέλη θα είναι ιδιωτικές.
i.1 Τα αντικείμενα της κλάσης Β_base θα λαμβάνουν τιμές από το πληκτρολόγιο μέσω συνάρτησης-μέλους
readData().
i.2 H κλάση B_base θα περιλαμβάνει συνάρτηση-μέλος returnFloat(char selection[]), η οποία θα δέχεται ως
όρισμα το αλφαριθμητικό selection και θα επιστρέφει την τιμή της μεταβλητής μέλος b_float_1 ή της b_float_2 ανάλογα
με το περιεχόμενο της selection ("One" ή "Two", αντίστοιχα). Εάν η selection έχει κάποιο άλλο περιεχόμενο, τότε η
συνάρτηση θα επιστρέφει το 0.0.
ii. Θα δημιουργεί μία κλάση B_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση B_base, με
μεταβλητή-μέλος ένα αλφαριθμητικό b_char_1. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης Β_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα όλων των μεταβλητών-μελών της κλάσης Β_der θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
iii. Στη συνάρτηση main() θα δημιουργείται δείκτης obj_1_ptr σε αντικείμενο κλάσης B_base. Ακολούθως με
δυναμική δέσμευση μνήμης θα δημιουργείται αντικείμενο κλάσης Β_base, στο οποίο θα αποδίδονται τιμές από το
πληκτρολόγιο. Τα περιεχόμενα του αντικειμένου θα απεικονίζονται στην οθόνη. Στη συνέχεια θα δημιουργείται
αντικείμενο obj_2 κλάσης Β_der, με αρχικές τιμές 5.5, 2.0, 100, "Νew string". Τα περιεχόμενα του obj_2 αντικειμένου
θα απεικονίζονται στην οθόνη. Τέλος θα καλείται δύο φορές η συνάρτηση-μέλος returnFloat του αντικειμένου κλάσης
B_base με ορίσματα "One" και "Two" αντίστοιχα και οι επιστρεφόμενες τιμές των δύο κλήσεων θα πολλαπλασιάζονται
μεταξύ τους. Το προκύπτον γινόμενο θα απεικονίζεται στην οθόνη.
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #3 - 22 Ιουνίου 2014, 13:34
+3

Να γραφεί πρόγραμμα στη γλώσσα C++, το οποίο θα επιτελεί τα ακόλουθα:
i. Θα δημιουργεί μία κλάση C_base, με μεταβλητές-μέλη ένα αλφαριθμητικό c_char_1[40] και μία ακέραια
μεταβλητή-μέλος c_int_1. Οι μεταβλητές-μέλη θα πρέπει να είναι άμεσα προσπελάσιμες από απορρέουσες από την
C_base κλάσεις αλλά όχι από κώδικα εκτός της C_base και των απορρεουσών κλάσεων.
i.1 Τα αντικείμενα της κλάσης C_base θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
i.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης C_base θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
i.3 Στα αντικείμενα της κλάσης C_base θα γίνεται υπερφόρτωση του τελεστή >, κατά την οποία θα συγκρίνονται
οι μεταβλητές-μέλη c_int_1 δύο αντικειμένων κλάσης C_base και θα επιστρέφεται true σε περίπτωση που ισχύει η
ανισότητα. Σε αντίθετη περίπτωση θα επιστρέφεται false.
ii. Θα δημιουργεί μία κλάση C_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση C_base, με
μεταβλητή-μέλος αλφαριθμητικό c_char_2[20]. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης C_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης C_der θα εκτυπώνονται μέσα από κατάλληλη συνάρτηση-
μέλος printData(), η οποία θα υπερφορτώνει την συνώνυμη συνάρτηση της κλάσης C_base.
ii.3 Η κλάση C_der θα περιλαμβάνει συνάρτηση-μέλος replaceString(), η οποία δε θα έχει επιστρεφόμενη τιμή
και θα προσαρτά στο τέλος της μεταβλητής-μέλος c_char_1 το περιεχόμενο της μεταβλητής-μέλος c_char_2.
iii. Στη συνάρτηση main() θα δημιουργούνται αντικείμενα obj_1 και obj_3 κλάσης C_base, με αρχικές τιμές "John",
1777 και "Chris", 2133, αντίστοιχα. Επίσης θα δημιουργείται αντικείμενο obj_2 κλάσης C_der, με αρχικές τιμές
"Joanna", 100, "Foe". Τα περιεχόμενα των τριών αντικειμένων θα απεικονίζονται στην οθόνη. Ακολούθως θα εκτελείται
η πρόταση obj_2.replaceString;. Τέλος θα εκτελείται η ανισότητα obj_3 > ob_1 και, ανάλογα με το αποτέλεσμα, θα
εμφανίζεται κατάλληλο μήνυμα στην οθόνη.
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #4 - 22 Ιουνίου 2014, 13:35
+3

i. Θα δημιουργεί μία κλάση D_base, με μεταβλητές-μέλη δύο ακεραίους d_int_1, d_int_2. Οι μεταβλητές-μέλη θα
είναι ιδιωτικές.
i.1 Τα αντικείμενα της κλάσης D_base θα λαμβάνουν τιμές από το πληκτρολόγιο μέσω συνάρτησης-μέλους
readData().
i.2 H κλάση D_base θα επιτρέπει μετατροπή τύπου (casting). Δηλαδή θα επιτρέπεται να ανατίθεται σε αντικείμενό
της αριθμός κινητής υποδιαστολής μονής ακρίβειας (π.χ. 116.4967) και θα αποδίδει στη μία μεταβλητή-μέλος το ακέραιο
μέρος (π.χ. 116) και στην άλλη μεταβλητή-μέλος τα δύο πρώτα ψηφία του δεκαδικού μέρους χωρίς στρογγυλοποίηση
(π.χ. 49).
ii. Θα δημιουργεί μία κλάση D_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση D_base, με
μεταβλητή-μέλος ένα αλφαριθμητικό d_char_1. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης D_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα όλων των μεταβλητών-μελών της κλάσης D_der θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
iii. Στη συνάρτηση main() θα δημιουργoύνται δύο αντικείμενα obj_1, obj_3 κλάσης D_base. Στο πρώτο αντικείμενο
θα αποδίδονται τιμές από το πληκτρολόγιο. Τα περιεχόμενα του obj_1 θα απεικονίζονται στην οθόνη. Στη συνέχεια θα
δημιουργείται αντικείμενο obj_2 κλάσης D_der, με αρχικές τιμές 117, 23, "Final string". Τα περιεχόμενα του obj_2 θα
απεικονίζονται στην οθόνη. Τέλος θα εκτελείται η εντολή obj_3 = 113.245; και ακολούθως τα περιεχόμενα του obj_3 θα
απεικονίζονται στην οθόνη
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #5 - 22 Ιουνίου 2014, 13:37
+4

Να γραφεί πρόγραμμα στη γλώσσα C++, το οποίο θα επιτελεί τα ακόλουθα:
i. Θα δημιουργεί μία κλάση A_base, με μεταβλητές-μέλη δύο αλφαριθμητικά a_char_1[20], a_char_2[30] και μία
ακέραια μεταβλητή-μέλος a_int_1. Οι μεταβλητές-μέλη θα πρέπει να είναι άμεσα προσπελάσιμες από απορρέουσες από
την A_base κλάσεις αλλά όχι από κώδικα εκτός της A_base και των απορρεουσών κλάσεων.
i.1 Τα αντικείμενα της κλάσης A_base θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
i.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης A_base θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
i.3 Στα αντικείμενα της κλάσης Α_base θα γίνεται υπερφόρτωση του τελεστή ++, κατά την οποία θα αυξάνει κατά
μία μονάδα η τιμή της μεταβλητής-μέλος a_int_1.
ii. Θα δημιουργεί μία κλάση A_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση A_base, με
μεταβλητή-μέλος αριθμό κινητής υποδιαστολής μονής ακρίβειας a_float_1. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης A_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης A_der θα εκτυπώνονται μέσα από κατάλληλη συνάρτηση-
μέλος printData(), η οποία θα υπερφορτώνει την συνώνυμη συνάρτηση της κλάσης A_base.
ii.3 Η κλάση Α_der θα περιλαμβάνει συνάρτηση-μέλος prodNum(), η οποία επιστρέφει το γινόμενο των
μεταβλητών-μελών a_int_1 και a_float_1 ως αριθμό κινητής υποδιαστολής μονής ακρίβειας.
iii. Στη συνάρτηση main() θα δημιουργούνται αντικείμενα obj_1 και obj_3 κλάσης A_base, με αρχικές τιμές "John",
"Doe", 1777 και "Chris", "Mullin", 2133, αντίστοιχα. Επίσης θα δημιουργείται αντικείμενο obj_2 κλάσης A_der, με
αρχικές τιμές "Joanna", "Foe", 100, 231.673. Τα περιεχόμενα των τριών αντικειμένων θα απεικονίζονται στην οθόνη.
Ακολούθως θα εκτελούνται οι προτάσεις obj_2.prodNum; και ++obj_3; και τα περιεχόμενα του obj_3 θα
απεικονίζονται εκ νέου στην οθόνη.

#include <cstdlib>
#include <iostream>
using namespace std;
class A_base
{
protected:
char a_char_1[20], a_char_2[30];
int a_int_1;
public:
A_base() {}
A_base(char x[], char y[], int z)
{
strcpy(a_char_1,x);
strcpy(a_char_2,y);
a_int_1 = z;
}
void printData()
{
cout << "\n a_char_1: " << a_char_1;
cout << "\n a_char_2: " << a_char_2;
cout << "\n a_int_1: " << a_int_1;
}
A_base operator ++ ()
{
this ‐> a_int_1 ++;
return *this;
}
};
class A_der : public A_base
{
private:
float a_float_1;
public:
A_der() : A_base() {}
A_der(char x[], char y[], int z, float w) : A_base(x, y, z)
{ // εναλλακτικά, θα μπορούσαν να αναγνωσθούν άμεσα όλες οι μεταβλητές‐μέλη λόγω protected
a_float_1 = w;
}
void printData()
{ // εναλλακτικά, θα μπορούσαν να εκτυπωθούν άμεσα όλες οι μεταβλητές‐μέλη λόγω protected
A_base::printData();
cout << "\n a_float_1: " << a_float_1;
}
float prodNum()
{
return(a_int_1*a_float_1);
}
};
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
main()
{
A_base obj_1("John","Doe",1777);
A_der obj_2("Joanna","Foe",100,231.673);
cout << "\nObject of the base class:" << endl;
obj_1.printData();
cout << endl << endl;
cout << "\nObject of the derived class:" << endl;
obj_2.printData();
cout << "\n Product of numeric variables: " << obj_2.prodNum() << endl;
cout << "\nanother object of the base class:" << endl;
A_base obj_3("Chris","Mullin",2133);
obj_3.printData();
cout << "\n++ Operator overloading:" << endl;
++οβξ_3;
΄ οβξ_3.πριντΔατα();
΄
ψοθτ << “\ν\ν\ν”;
΄ συστεμ(“ΠΑΘΣΕ”);
΄}
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #6 - 22 Ιουνίου 2014, 13:40
+4

Να γραφεί πρόγραμμα στη γλώσσα C++, το οποίο θα επιτελεί τα ακόλουθα:
i. Θα δημιουργεί μία κλάση B_base, με μεταβλητές-μέλη δύο αριθμούς κινητής υποδιαστολής μονής ακρίβειας
b_float_1, b_float_2 και μία ακέραια μεταβλητή-μέλος b_int_1. Οι μεταβλητές-μέλη θα είναι ιδιωτικές.
i.1 Τα αντικείμενα της κλάσης Β_base θα λαμβάνουν τιμές από το πληκτρολόγιο μέσω συνάρτησης-μέλους
readData().
i.2 H κλάση B_base θα περιλαμβάνει συνάρτηση-μέλος returnFloat(char selection[]), η οποία θα δέχεται ως
όρισμα το αλφαριθμητικό selection και θα επιστρέφει την τιμή της μεταβλητής μέλος b_float_1 ή της b_float_2 ανάλογα
με το περιεχόμενο της selection ("One" ή "Two", αντίστοιχα). Εάν η selection έχει κάποιο άλλο περιεχόμενο, τότε η
συνάρτηση θα επιστρέφει το 0.0.
ii. Θα δημιουργεί μία κλάση B_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση B_base, με
μεταβλητή-μέλος ένα αλφαριθμητικό b_char_1. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης Β_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα όλων των μεταβλητών-μελών της κλάσης Β_der θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
iii. Στη συνάρτηση main() θα δημιουργείται δείκτης obj_1_ptr σε αντικείμενο κλάσης B_base. Ακολούθως με
δυναμική δέσμευση μνήμης θα δημιουργείται αντικείμενο κλάσης Β_base, στο οποίο θα αποδίδονται τιμές από το
πληκτρολόγιο. Τα περιεχόμενα του αντικειμένου θα απεικονίζονται στην οθόνη. Στη συνέχεια θα δημιουργείται
αντικείμενο obj_2 κλάσης Β_der, με αρχικές τιμές 5.5, 2.0, 100, "Νew string". Τα περιεχόμενα του obj_2 αντικειμένου
θα απεικονίζονται στην οθόνη. Τέλος θα καλείται δύο φορές η συνάρτηση-μέλος returnFloat του αντικειμένου κλάσης
B_base με ορίσματα "One" και "Two" αντίστοιχα και οι επιστρεφόμενες τιμές των δύο κλήσεων θα πολλαπλασιάζονται
μεταξύ τους. Το προκύπτον γινόμενο θα απεικονίζεται στην οθόνη.

#include <cstdlib>
#include <iostream>
using namespace std;
class B_base
{
private:
float b_float_1, b_float_2;
int b_int_1;
public:
B_base() {}
B_base(float x, float y, int z)
{
b_float_1 = x;
b_float_2 = y;
b_int_1 = z;
}
void readData()
{
cout << "\nGive b_float_1: ";
cin >> b_float_1;
cout << "\nGive b_float_2: ";
cin >> b_float_2;
cout << "\nGive b_int_1: ";
Αντικειμενοστραφής Προγραμματισμός – Φεβρουάριος 2014 - Β 2
cin >> b_int_1;
cout << endl << endl;
}
void printData()
{
cout << "\n b_float_1: " << b_float_1;
cout << "\n b_float_2: " << b_float_2;
cout << "\n b_int_1: " << b_int_1;
}
float returnFloat(char selection[])
{
if (strcmp(selection,"One") == 0) return b_float_1;
else if (strcmp(selection,"Two") == 0) return b_float_2;
else return 0.0;
}
};
class B_der : public B_base
{
private:
char b_char_1[30];
public:
B_der() : B_base() {}
B_der(float x, float y, int z, char w[]) : B_base(x, y, z)
{
strcpy(b_char_1,w);
}
void printData()
{
B_base::printData();
cout << "\n b_char_1: " << b_char_1;
}
};
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
main()
{
B_base *obj_1_ptr;
obj_1_ptr=new B_base;
obj_1_ptr ‐> readData();
B_der obj_2(5.5,2.3,100,"New string");
cout << "\nObject of the base class:" << endl;
obj_1_ptr ‐> printData();
cout << endl << endl;
cout << "\nObject of the derived class:" << endl;
obj_2.printData();
cout << "\n Product of the float variables of obj_1: " << obj_1_ptr ‐> returnFloat("One")*obj_1_ptr ‐
> returnFloat("Two") << endl;
cout << "\nanother object of the base class:" << endl;
delete obj_1_ptr;
cout << "\n\n\n";
system("PAUSE");
}
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #7 - 22 Ιουνίου 2014, 13:41
+4

Να γραφεί πρόγραμμα στη γλώσσα C++, το οποίο θα επιτελεί τα ακόλουθα:
i. Θα δημιουργεί μία κλάση C_base, με μεταβλητές-μέλη ένα αλφαριθμητικό c_char_1[40] και μία ακέραια
μεταβλητή-μέλος c_int_1. Οι μεταβλητές-μέλη θα πρέπει να είναι άμεσα προσπελάσιμες από απορρέουσες από την
C_base κλάσεις αλλά όχι από κώδικα εκτός της C_base και των απορρεουσών κλάσεων.
i.1 Τα αντικείμενα της κλάσης C_base θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
i.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης C_base θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
i.3 Στα αντικείμενα της κλάσης C_base θα γίνεται υπερφόρτωση του τελεστή >, κατά την οποία θα συγκρίνονται
οι μεταβλητές-μέλη c_int_1 δύο αντικειμένων κλάσης C_base και θα επιστρέφεται true σε περίπτωση που ισχύει η
ανισότητα. Σε αντίθετη περίπτωση θα επιστρέφεται false.
ii. Θα δημιουργεί μία κλάση C_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση C_base, με
μεταβλητή-μέλος αλφαριθμητικό c_char_2[20]. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης C_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα των μεταβλητών-μελών της κλάσης C_der θα εκτυπώνονται μέσα από κατάλληλη συνάρτηση-
μέλος printData(), η οποία θα υπερφορτώνει την συνώνυμη συνάρτηση της κλάσης C_base.
ii.3 Η κλάση C_der θα περιλαμβάνει συνάρτηση-μέλος replaceString(), η οποία δε θα έχει επιστρεφόμενη τιμή
και θα προσαρτά στο τέλος της μεταβλητής-μέλος c_char_1 το περιεχόμενο της μεταβλητής-μέλος c_char_2.
iii. Στη συνάρτηση main() θα δημιουργούνται αντικείμενα obj_1 και obj_3 κλάσης C_base, με αρχικές τιμές "John",
1777 και "Chris", 2133, αντίστοιχα. Επίσης θα δημιουργείται αντικείμενο obj_2 κλάσης C_der, με αρχικές τιμές
"Joanna", 100, "Foe". Τα περιεχόμενα των τριών αντικειμένων θα απεικονίζονται στην οθόνη. Ακολούθως θα εκτελείται
η πρόταση obj_2.replaceString;. Τέλος θα εκτελείται η ανισότητα obj_3 > ob_1 και, ανάλογα με το αποτέλεσμα, θα
εμφανίζεται κατάλληλο μήνυμα στην οθόνη.

#include <cstdlib>
#include <iostream>
using namespace std;
class C_base
{
protected:
char c_char_1[40];
int c_int_1;
public:
C_base() {}
C_base(char x[], int y)
{
strcpy(c_char_1,x);
c_int_1 = y;
}
void printData()
{
cout << "\n c_char_1: " << c_char_1;
cout << "\n c_int_1: " << c_int_1;
}
bool operator > (C_base c_object)
{
Αντικειμενοστραφής Προγραμματισμός – Φεβρουάριος 2014 - Γ 2
if (c_int_1 > c_object.c_int_1) return true;
else return false;
}
};
class C_der : public C_base
{
private:
char c_char_2[20];
public:
C_der() : C_base() {}
C_der(char x[], int y, char z[]) : C_base(x, y)
{ // εναλλακτικά, θα μπορούσαν να αναγνωσθούν άμεσα όλες οι μεταβλητές‐μέλη λόγω protected
strcpy(c_char_2,z);
}
void printData()
{ // εναλλακτικά, θα μπορούσαν να εκτυπωθούν άμεσα όλες οι μεταβλητές‐μέλη λόγω protected
C_base::printData();
cout << "\n c_char_2: " << c_char_2;
}
void replaceString()
{
strcpy(c_char_1,c_char_2);
}
};
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
main()
{
C_base obj_1("John",1777);
C_der obj_2("Joanna",100,"Foe");
cout << "\n\nObject of the base class:" << endl;
obj_1.printData();
cout << endl << endl;
cout << "\n\nObject of the derived class:" << endl;
obj_2.printData();
cout << "\n\nobj_2 after string replacement: ";
obj_2.replaceString();
obj_2.printData();
cout << "\n\nanother object of the base class:" << endl;
C_base obj_3("Chris",2133);
obj_3.printData();
cout << "\n\n\nOperator overloading:" << endl;
if (obj_3 > obj_1) cout << "object's obj_3 integer value is greater than that of obj_1";
else cout << "object's obj_3 integer value is less than or equal to that of obj_1";
cout << "\n\n\n";
system("PAUSE");
}
Καταγράφηκε
DiStancE
*
Μηνύματα: 35
Θετικοί ψήφοι: +32

Αποσυνδεδεμένος Αποσυνδεδεμένος

Άντρας
Απάντηση #8 - 22 Ιουνίου 2014, 13:42
+5

i. Θα δημιουργεί μία κλάση D_base, με μεταβλητές-μέλη δύο ακεραίους d_int_1, d_int_2. Οι μεταβλητές-μέλη θα
είναι ιδιωτικές.
i.1 Τα αντικείμενα της κλάσης D_base θα λαμβάνουν τιμές από το πληκτρολόγιο μέσω συνάρτησης-μέλους
readData().
i.2 H κλάση D_base θα επιτρέπει μετατροπή τύπου (casting). Δηλαδή θα επιτρέπεται να ανατίθεται σε αντικείμενό
της αριθμός κινητής υποδιαστολής μονής ακρίβειας (π.χ. 116.4967) και θα αποδίδει στη μία μεταβλητή-μέλος το ακέραιο
μέρος (π.χ. 116) και στην άλλη μεταβλητή-μέλος τα δύο πρώτα ψηφία του δεκαδικού μέρους χωρίς στρογγυλοποίηση
(π.χ. 49).
ii. Θα δημιουργεί μία κλάση D_der, η οποία θα απορρέει με δημόσια κληρονομικότητα από την κλάση D_base, με
μεταβλητή-μέλος ένα αλφαριθμητικό d_char_1. Η μεταβλητή-μέλος θα είναι ιδιωτική.
ii.1 Τα αντικείμενα της κλάσης D_der θα λαμβάνουν τιμές αποκλειστικά μέσα από συνάρτηση δόμησης.
ii.2 Τα περιεχόμενα όλων των μεταβλητών-μελών της κλάσης D_der θα εκτυπώνονται μέσα από κατάλληλη
συνάρτηση-μέλος printData().
iii. Στη συνάρτηση main() θα δημιουργoύνται δύο αντικείμενα obj_1, obj_3 κλάσης D_base. Στο πρώτο αντικείμενο
θα αποδίδονται τιμές από το πληκτρολόγιο. Τα περιεχόμενα του obj_1 θα απεικονίζονται στην οθόνη. Στη συνέχεια θα
δημιουργείται αντικείμενο obj_2 κλάσης D_der, με αρχικές τιμές 117, 23, "Final string". Τα περιεχόμενα του obj_2 θα
απεικονίζονται στην οθόνη. Τέλος θα εκτελείται η εντολή obj_3 = 113.245; και ακολούθως τα περιεχόμενα του obj_3 θα
απεικονίζονται στην οθόνη

#include <cstdlib>
#include <iostream>
using namespace std;
class D_base
{
private:
int d_int_1, d_int_2;
public:
D_base() {}
D_base(int x, int y)
{
d_int_1 = x;
d_int_2 = y;
}
D_base(float x)
{
d_int_1 = (int)x;
d_int_2 = (int)((x‐(int)x)*100);
}
void readData()
{
cout << "\nGive d_int_1: ";
cin >> d_int_1;
cout << "\nGive d_int_2: ";
cin >> d_int_2;
Αντικειμενοστραφής Προγραμματισμός – Φεβρουάριος 2014 - Δ 2
cout << endl << endl;
}
void printData()
{
cout << "\n d_int_1: " << d_int_1;
cout << "\n d_int_2: " << d_int_2;
}
};
class D_der : public D_base
{
private:
char d_char_1[30];
public:
D_der() : D_base() {}
D_der(int x, int y, char z[]) : D_base(x, y)
{
strcpy(d_char_1,z);
}
void printData()
{
D_base::printData();
cout << "\n d_char_1: " << d_char_1;
}
};
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
main()
{
D_base obj_1, obj_3;
obj_1.readData();
D_der obj_2(117,23,"Final string");
cout << "\nObject of the base class:" << endl;
obj_1.printData();
cout << endl << endl;
cout << "\nObject of the derived class:" << endl;
obj_2.printData();
obj_3 = 113.245;
cout << endl << endl;
cout << "\nAnother object of the base class:" << endl;
obj_3.printData();
cout << "\n\n\n";
system("PAUSE");
}
Καταγράφηκε
ALS
Μηχανικών Πληροφορικής ΤΕ
*
Μηνύματα: 557
Θετικοί ψήφοι: +634

Αποσυνδεδεμένος Αποσυνδεδεμένος

C'est la vie...

Απάντηση #9 - 22 Ιουνίου 2014, 14:17
+1

Εντάξει είσαι φοβερός !! Ευχαριστώ πολύ ! :D
Καταγράφηκε

Think less..Live more...
Σελίδες: [1] 2   Πάνω
Εκτύπωση