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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426686
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 50
Guests: 82
Total: 132
kvas
mike1996
thomasdt
dimopoul
paristetos
George_RT
alexkont
gpap
Geoth
dimitris kiziridis
panagiot
airam
Maximos7
giannisd
programmer2004
DimKaratzas
superkolios
acolak
noimaginationforthis
Gray139
MrGreekArrow
ggalamat
Roidos
Mr Watson
ellimoschou
pelopidt
kzmekos
ppoug
Vasilikikr
kmargaritis
Nikos_313
gmpatsol
Saint_GR
gdiakonikolhs
Raphael
melisste22
elenak
gp6
meliou
Billyskotsikas
nikitask
Διάλεξις
glavdakis
Denisivo
antontsiorvas
Εμφάνιση

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

Νέα!
Η γραμματεία είναι ανοιχτή καθημερινά 12:00-13:30 Tongue
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 2021 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...