• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
March 22, 2026, 01:30:09 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
March 22, 2026, 01:30:09 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Thmmy-συνάντηση 21 Μάρτιο...
by Giopan
[March 21, 2026, 21:40:21 pm]

Λεωφορεία για κατέβασμα σ...
by felantaki
[March 21, 2026, 17:36:53 pm]

Εργασίες Αφαίρεσης Αμιάντ...
by Lits
[March 21, 2026, 01:12:36 am]

[Ανάλυση Χρονοσειρών] Να ...
by Mr Sax
[March 20, 2026, 13:58:14 pm]

Πότε θα βγει το μάθημα; -...
by Hyperlaz02
[March 20, 2026, 12:53:45 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[March 19, 2026, 17:59:31 pm]

Ανακοίνωση - Οι εγγραφές ...
by IEEE SB
[March 19, 2026, 17:13:57 pm]

Η κεντρική γείωση έχει τά...
by chatzikys
[March 18, 2026, 22:45:22 pm]

[ΣΑΕ ΙΙ] Γενικές απορίες ...
by Saint_GR
[March 18, 2026, 19:27:08 pm]

[Βάσεις Δεδομένων] Ανακοι...
by grepanis
[March 18, 2026, 19:19:51 pm]

Ερωτηματολόγιο : Νέα Χρήσ...
by Μπιγκόνια
[March 18, 2026, 18:46:21 pm]

[2ο εξ. ΝΠΣ] Επιλογή Συγγ...
by Petross
[March 18, 2026, 13:04:37 pm]

Ορκωμοσία χειμερινού εξαμ...
by george14
[March 17, 2026, 19:11:37 pm]

Χαρακτηριστικά Laptop
by Spiros853
[March 17, 2026, 14:35:46 pm]

[Αντικειμενοστραφής Πρ.] ...
by tony stank
[March 17, 2026, 10:44:30 am]

[Τηλεπ.Συστήματα ΙΙ] Γενι...
by migk
[March 16, 2026, 14:14:01 pm]

Αποτελέσματα Εξεταστικής ...
by tony stank
[March 16, 2026, 07:57:24 am]

Πρόγραμμα Εαρινής Εξεταστ...
by okan
[March 16, 2026, 04:28:24 am]

ΣΥΝΑΥΛΙΑ ΓΙΑ ΜΕΤΑΦΟΡΙΚΑ Ε...
by cvakadimas
[March 14, 2026, 23:39:36 pm]

Μαθήματα Επιλογής 6ου Εξα...
by Fraser
[March 13, 2026, 14:27:32 pm]
Στατιστικά
Members
Total Members: 10364
Latest: andreasdim
Stats
Total Posts: 1430833
Total Topics: 31977
Online Today: 605
Online Ever: 9872
(February 17, 2026, 10:41:42 am)
Users Online
Users: 8
Guests: 236
Total: 244
maariaa_7
stmanzaf
geokip0110
manwlakhs
femanak
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: RivenT, tony stank) > [C++] Άσκηση 7 - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [C++] Άσκηση 7 - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ  (Read 2462 times)
Vlassis
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 2162


εφακ


View Profile
[C++] Άσκηση 7 - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« on: November 21, 2015, 12:39:48 pm »

Εξαιρέσεις και κληρονομικότητα
Δίνεται ο ορισμός της ακόλουθης κλάσης safetable

class safetable {
  private :
    int *array;
    int size;
  public:
    safetable();
    safetable(int x)
    int operator [] (…)
    ~safetable();
}

Να υλοποιήσετε τις αντίστοιχες μεθόδους με τέτοιο τρόπο ώστε εαν ο χρήστης της κλάσης safetable πραγματοποιήσει πρόσβαση στα στοιχεία του πίνακα array εκτός ορίων, π.χ εαν το size είναι 5 και ο χρήστης πραγματοποιεί πρόσβαση στο 6ο στοιχείο του πίνακα, να δημιουργεί μια εξαίρεση. Το προκαθορισμένο μέγεθος του πίνακα θα είναι 10, εκτός και εαν ο χρήστης θέλει να προσδιορίζει το μέγεθος του πίνακα.
Η εξαίρεση αυτή θα πρέπει να είναι τύπου MyOutofBoundException η οποία θα πρέπει να κληρονομεί την exception της C++. H εξαίρεση θα πρέπει να επιστρέφει ένα μήνυμα “Table out of Bounds”.
H main που θα πρέπει να υποστηρίζεται είναι της ακόλουθης μορφής και θα πρέπει να γίνουν οι κατάλληλες αλλαγές για να υποστηρίζει τις εξαιρέσεις.

int main()
{
    safetable table1;
    cout<< “Value of A[1]:”<< table1[1] <<endl;
    cout<< “Value of A[1]:”<< table1[2] <<endl;
    cout<< “Value of A[2]:”<< table1[14] <<endl;
    safetable table2(20);
    cout<< “Value of A[1]:”<< table2[1] <<endl;
    cout<< “Value of A[1]:”<< table2[2] <<endl;
    cout<< “Value of A[2]:”<< table2[32] <<endl;
}
« Last Edit: December 05, 2015, 16:06:09 pm by Vlassis » Logged

πρόπελ
Is any of it real? I mean, look at this. Look at it! A world built on fantasy! Synthetic emotions in the form of pills, psychological warfare in the form of advertising, mind-altering chemicals in the form of food, brainwashing seminars in the form of media, controlled isolated bubbles in the form of social networks. mr.robot s01e10
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #1 on: November 23, 2015, 18:10:25 pm »

Quote from: Vlassis on November 21, 2015, 12:39:48 pm

Να υλοποιήσετε τις αντίστοιχες μεθόδους με τέτοιο τρόπο ώστε εαν ο χρήστης της κλάσης safetable πραγματοποιήσει πρόσβαση στα στοιχεία του πίνακα array εκτός ορίων, π.χ εαν το size είναι 5 και ο χρήστης πραγματοποιεί πρόσβαση στο 6ο στοιχείο του πίνακα, να δημιουργεί μια εξαίρεση. Το προκαθορισμένο μέγεθος του πίνακα θα είναι 10, εκτός και εαν ο χρήστης θέλει να προσδιορίζει το μέγεθος του πίνακα.
Η εξαίρεση αυτή θα πρέπει να είναι τύπου MyOutofBoundException η οποία θα πρέπει να κληρονομεί την exception της C++. H εξαίρεση θα πρέπει να επιστρέφει ένα μήνυμα “Table out of Bounds”.
H main που θα πρέπει να υποστηρίζεται είναι της ακόλουθης μορφής και θα πρέπει να γίνουν οι κατάλληλες αλλαγές για να υποστηρίζει τις εξαιρέσεις.



επειδή δεν είμαι σίγουρη για το ποια υλοποίηση θέλει και υπάρχουν διάφοροι τρόποι, θέλει στην ουσία να κάνω μια κλάση η οποία κληρονομεί την κλάση expection της αντίστοιχης βιβλιοθήκης, έτσι;

edit : ναι μάλλον αυτό θέλει, και κάνουμε throw το αντικείμενο της κλάσης που δημιουργήσαμε λογικά
« Last Edit: November 23, 2015, 18:45:13 pm by pentium4 » Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

Schro
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 2797


if cats could talk, they wouldn't.


View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #2 on: November 23, 2015, 22:13:43 pm »

Quote from: pentium4 on November 23, 2015, 18:10:25 pm
Quote from: Vlassis on November 21, 2015, 12:39:48 pm
. . .

και πρέπει να κάνουμε Overload τον operator [ ] για να κάνω έλεγχο των ορίων και αν βγαίνω έξω από τα όρια του πίνακα να δημιουργεί την MyOutOfBoundsException που λέει στην εκφώνηση;

Η οποία πρέπει να κληρονομεί την exception που δίνεται εδώ για παράδειγμα; By the way από αυτή που δίνεται εδώ έχει νόημα αν θα παρόυμε αυτήν που δίνεται στο πρότυπο C++98 ή στο C++11;
ζητώ προκαταβολικά συγγνώμη αν ρώτησα μαλακία!
« Last Edit: November 23, 2015, 22:19:22 pm by Schro » Logged

------------------------------------TIPS FOR SUCCESS------------------------------
If you run out of handsoap, simply boil water and dip your hands into it. Heat kills bacteria.

When a zombie tells you that they want brains, what they mean is they want an education. Don't be afraid to help them.

Don't study until the night before a big exam. This will ensure that all the information is fresh in your mind.
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #3 on: November 24, 2015, 00:40:16 am »

Quote from: Schro on November 23, 2015, 22:13:43 pm
Quote from: pentium4 on November 23, 2015, 18:10:25 pm
Quote from: Vlassis on November 21, 2015, 12:39:48 pm
. . .

1)και πρέπει να κάνουμε Overload τον operator [ ] για να κάνω έλεγχο των ορίων και αν βγαίνω έξω από τα όρια του πίνακα να δημιουργεί την MyOutOfBoundsException που λέει στην εκφώνηση;

2)Η οποία πρέπει να κληρονομεί την exception που δίνεται εδώ για παράδειγμα; By the way από αυτή που δίνεται εδώ έχει νόημα αν θα παρόυμε αυτήν που δίνεται στο πρότυπο C++98 ή στο C++11;
ζητώ προκαταβολικά συγγνώμη αν ρώτησα μαλακία!

1) αυτό έκανα (στο περίπου), το αντικείμενο της Myoutμπλαμπλα το είχα δημιουργήσει έτσι και αλλιώς ως global, απλά μέσα στη συνάρτηση τελεστή κάνει το throw και το πετάει

2)νομίζω είναι θέμα compiler για την έκδοση, εγώ από την exception έκανα virtual την what() (στην παραγόμενη) και την είχε κανονικά - στις διαφάνειες του έχει του 98 πάντως!

3) δε ρωτάς βλακείες, ούτε τώρα ούτε σε άλλες εργασίες Tongue
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

Schro
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 2797


if cats could talk, they wouldn't.


View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #4 on: November 24, 2015, 16:39:50 pm »

Quote from: pentium4 on November 24, 2015, 00:40:16 am
. . .

Thank you!  Smiley
Logged

------------------------------------TIPS FOR SUCCESS------------------------------
If you run out of handsoap, simply boil water and dip your hands into it. Heat kills bacteria.

When a zombie tells you that they want brains, what they mean is they want an education. Don't be afraid to help them.

Don't study until the night before a big exam. This will ensure that all the information is fresh in your mind.
Ap.Mor.
Καταξιωμένος/Καταξιωμένη
***
Posts: 192



View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #5 on: November 27, 2015, 18:58:01 pm »

Καταλάβατε αν θέλει να κάνουμε κάποια αλλαγή στη main()?Γιατί εμένα αφού μου βγάλει το μήνυμα Table Out of Bounds μου τυπώνει και μια τιμή για το στοιχείο που είναι εκτός ορίων.
(Τον έλεγχο το throw και το catch το κάνω μέσα στον operator[])
« Last Edit: November 27, 2015, 19:01:20 pm by Ap.Mor. » Logged
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #6 on: November 27, 2015, 19:01:43 pm »

Quote from: Ap.Mor. on November 27, 2015, 18:58:01 pm
Καταλάβατε αν θέλει να κάνουμε κάποια αλλαγή στη main()?Γιατί εμένα αφού μου βγάλει το μήνυμα Table Out of Bounds μου τυπώνει και μια τιμή για το στοιχείο που είναι εκτός ορίων.
(Τον έλεγχο το throw και το cath το κάνω μέσα στον operator[])

Ναι τη main πρέπει να τη συμπληρώσεις όπου χρειάζεται με try και catch.

Τώρα είδα το edit. Δε ξέρω έτσι όπως το έκανες αν θέλει αλλαγή...
Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #7 on: November 27, 2015, 19:06:09 pm »

Quote from: Ap.Mor. on November 27, 2015, 18:58:01 pm
Καταλάβατε αν θέλει να κάνουμε κάποια αλλαγή στη main()?Γιατί εμένα αφού μου βγάλει το μήνυμα Table Out of Bounds μου τυπώνει και μια τιμή για το στοιχείο που είναι εκτός ορίων.
(Τον έλεγχο το throw το κάνω μέσα στον operator[]
 και το try-catch στη main)

Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

Ap.Mor.
Καταξιωμένος/Καταξιωμένη
***
Posts: 192



View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #8 on: November 27, 2015, 19:13:42 pm »

Δούλεψε Σωστά!Ευχαριστώ!
Logged
akyrosHM
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 665



View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #9 on: November 27, 2015, 22:18:38 pm »

Εγώ σε όλα τα table1[k] που χει στη main έκανα try, catch πάντως για να μαι καλυμμένος. Smiley
Logged

Εγκλωβισμένος στην Ηλεκτρολόγκα...
stkintzo
Νεούλης/Νεούλα
*
Posts: 33


View Profile
Re: [C++] Άσκηση G - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« Reply #10 on: November 28, 2015, 19:24:10 pm »

Quote from: Ap.Mor. on November 27, 2015, 19:13:42 pm
Δούλεψε Σωστά!Ευχαριστώ!

Κ εγω ετσι το εκανα κ δουλεψε.αλλα στο πρωτο Out of Bounds τερματιζει το προγραμμα.Σου συνεβη αυτο;εχει κανεις ιδεα;

Edit:Επρεπε να βαλω 2 try,2 catch,ενα για καθε αντικειμενο που δημιουργω τελικα.Τωρα τρεχει
« Last Edit: November 29, 2015, 13:51:31 pm by stkintzo » Logged
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...