• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
August 02, 2025, 17:09:52 pm

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.
August 02, 2025, 17:09:52 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[Today at 17:06:37]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[Today at 13:25:49]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[Today at 09:51:26]

[Τομέας Ενέργειας] Μαθήμα...
by Nikos_313
[Today at 01:40:22]

Οι μπράβοι του πρύτανη
by Διάλεξις
[Today at 01:30:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:04:15]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:59:05]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τι ακούτε αυτήν τη στιγμή...
by Giopan
[July 30, 2025, 17:07:32 pm]

Αποτελέσματα Εξεταστικής ...
by Mr Watson
[July 30, 2025, 14:19:11 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]

Ρώτα κάτι τον επόμενο
by Giopan
[July 29, 2025, 16:04:23 pm]

Πότε θα βγει το μάθημα; -...
by chatzikys
[July 29, 2025, 13:52:51 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427642
Total Topics: 31739
Online Today: 142
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 25
Guests: 90
Total: 115
themis01
Thanasis_pap
nmpampal
Ma8hths Indou
diesel
kaskas12
Saint_GR
filkilkis
george14
aris123321
bit11
trelogauros7
iliaspapam
glavdakis
dsaragiotis
georgino
chris123
Giannis Masterio
Don
johnnypap
Bit4Thought
Εμφάνιση

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

Νέα!
Πρόγραμμα Επαναληπτικής Εξεταστικής 2024-2025
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [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 2077 times)
Vlassis
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 2162


εφακ


View Profile
[C++] Άσκηση 7 - 2015/2016 Προθεσμία 01/12/2015 12:00 πμ
« on: November 21, 2015, 13: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, 17: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, 19:10:25 pm »

Quote from: Vlassis on November 21, 2015, 13: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, 19: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, 23:13:43 pm »

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

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

Η οποία πρέπει να κληρονομεί την exception που δίνεται εδώ για παράδειγμα; By the way από αυτή που δίνεται εδώ έχει νόημα αν θα παρόυμε αυτήν που δίνεται στο πρότυπο C++98 ή στο C++11;
ζητώ προκαταβολικά συγγνώμη αν ρώτησα μαλακία!
« Last Edit: November 23, 2015, 23: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, 01:40:16 am »

Quote from: Schro on November 23, 2015, 23:13:43 pm
Quote from: pentium4 on November 23, 2015, 19:10:25 pm
Quote from: Vlassis on November 21, 2015, 13: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, 17:39:50 pm »

Quote from: pentium4 on November 24, 2015, 01: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, 19:58:01 pm »

Καταλάβατε αν θέλει να κάνουμε κάποια αλλαγή στη main()?Γιατί εμένα αφού μου βγάλει το μήνυμα Table Out of Bounds μου τυπώνει και μια τιμή για το στοιχείο που είναι εκτός ορίων.
(Τον έλεγχο το throw και το catch το κάνω μέσα στον operator[])
« Last Edit: November 27, 2015, 20: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, 20:01:43 pm »

Quote from: Ap.Mor. on November 27, 2015, 19: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, 20:06:09 pm »

Quote from: Ap.Mor. on November 27, 2015, 19: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, 20: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, 23: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, 20:24:10 pm »

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

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

Edit:Επρεπε να βαλω 2 try,2 catch,ενα για καθε αντικειμενο που δημιουργω τελικα.Τωρα τρεχει
« Last Edit: November 29, 2015, 14: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...