• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 20, 2026, 21:06:15 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.
June 20, 2026, 21:06:15 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Των συνειρμών το παίγνιο....
by chatzikys
[Today at 20:17:40]

[Αριθμητική Ανάλυση] Γενι...
by asimomyti
[Today at 13:38:17]

[Διανεμημένη Παραγωγή] Γε...
by george14
[June 19, 2026, 23:19:07 pm]

Πότε θα βγει το μάθημα; -...
by chatzikys
[June 19, 2026, 12:40:39 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 18, 2026, 18:51:29 pm]

[Η/Μ Πεδίο ΙΙ] Γενικές απ...
by Nikos_313
[June 18, 2026, 14:01:54 pm]

[Ηλεκτρονική ΙΙ] Γενικές ...
by nmpampal
[June 18, 2026, 07:37:37 am]

[Οργάνωση Υπολογιστών] Γε...
by Lalson
[June 17, 2026, 10:37:39 am]

Κάμερες στην Πρυτανεία το...
by RivenT
[June 16, 2026, 23:48:23 pm]

[Μικροεπεξεργαστές] Γενικ...
by G.V.
[June 16, 2026, 15:31:13 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by femanak
[June 16, 2026, 11:11:17 am]

H Στοά των Off Topic
by χηρουλα Αλεξίου
[June 15, 2026, 17:39:58 pm]

Γιατί οι ΤΗΜΜΥδες έχουν μ...
by Karaμazoβ
[June 15, 2026, 14:31:16 pm]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Λαμπτήρας
[June 12, 2026, 13:36:19 pm]

[Ισχύος II] Γενικές απορί...
by Nikos_313
[June 11, 2026, 14:05:57 pm]

[Ημιαγωγά Υλικά] Απορίες ...
by Nikos_313
[June 11, 2026, 10:23:04 am]

[Ευφυή και Προσαρμοστικά ...
by grepanis
[June 11, 2026, 10:11:51 am]

[Γραφική] Λυμένα θέματα
by Roidos
[June 10, 2026, 21:37:48 pm]

Τι ακούτε αυτήν τη στιγμή...
by Karaμazoβ
[June 10, 2026, 18:42:33 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Giannis Masterio
[June 09, 2026, 20:27:57 pm]
Στατιστικά
Members
Total Members: 10402
Latest: anton
Stats
Total Posts: 1431484
Total Topics: 32024
Online Today: 1543
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 47
Guests: 1304
Total: 1351
gpapmtb
dimkon
mariamil
stelisama
Σβέλτο Φτυάρι
apob
ThanosDgs
panosvass
ThanosKoutsoump
eirinistyl
Bill g
Reidemption
prodrom0s
atampakc
mikrosdia
mimaki
Jard
tzesi
kchristoua
vmanousi
abunchofcells
johnny_ece
pgalati
akiousia
mgrivab
arkou
zachpasc
LcFyngus
anastas1a
PANKRAV
Elenit
Lykaonia
anstaik
illupo_kd
krith
Mariostz
gilaros
chaniotism
vaggelisx
sinakos
femanak
thomaitheodosiadou
linda
asteristzv
sterboga
Εμφάνιση

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

Νέα!
Συμβουλές καλής χρήσης του φόρουμ: Youtube embed code and links, Shoutbox, Notify, ...
Δείτε περισσότερα εδώ...
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 2569 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...