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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
best username in THMMY.gr
by Katarameno
[Today at 20:35:29]

Αποτελέσματα Εξεταστικής ...
by ilazarit
[Today at 19:59:41]

Ποιον πάροχο να επιλέξω?
by Katarameno
[Today at 19:16:50]

Ποιο τραγούδι ακούσατε 5+...
by Katarameno
[Today at 17:16:08]

[Τηλεπικοινωνιακά Συστήμα...
by chatzikys
[Today at 16:07:13]

Πρόγραμμα Σπουδών Ακαδημα...
by sg31a
[Today at 11:35:11]

Εργασία στην METLEN, Γνώμ...
by ChrisKaloy-Kakou
[Today at 00:51:50]

Συμβάσεις και εταιρείες
by Nikos_313
[September 16, 2025, 23:02:05 pm]

[Στοχαστικά Σήματα και Δι...
by Nikos_313
[September 16, 2025, 22:54:08 pm]

Μέλος του μήνα - Ιούλιος ...
by Katarameno
[September 16, 2025, 19:37:40 pm]

Ευρωμπάσκετ 2025
by Katarameno
[September 16, 2025, 02:46:49 am]

Πότε θα βγει το μάθημα; -...
by Katarameno
[September 16, 2025, 01:08:33 am]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[September 15, 2025, 22:10:40 pm]

Users <=22 OR >=222
by Mr Watson
[September 14, 2025, 19:36:18 pm]

[ΑΡΑΓΕ Attack] ΝΑ ΕΠΙΣΤΡΕ...
by Aris★
[September 14, 2025, 14:31:33 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[September 14, 2025, 13:29:36 pm]

Των συνειρμών το παίγνιο....
by chatzikys
[September 14, 2025, 13:20:18 pm]

Καλός βαθμός στην σχολή
by Σουλης
[September 14, 2025, 13:00:41 pm]

Τα παράσιτα ανάμεσά μας
by okan
[September 14, 2025, 03:20:17 am]

Αυνανισμος: Κινδυνοι, προ...
by Nikolaras
[September 13, 2025, 20:57:09 pm]
Στατιστικά
Members
Total Members: 10013
Latest: nataliaef
Stats
Total Posts: 1428139
Total Topics: 31767
Online Today: 440
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 39
Guests: 354
Total: 393
RivenT
thomasdt
odkoutrolikos
Επίδοξος
Katarameno
AcDimitri
kchatziae
kokkinosgior
chriskazakos
giorgosss03
akoil
Aglosdoum
evgeniaz
tasos gourd
hoo2
PurpleWitch
TahmKench
Oracle
theodoridoueu
ALeXLe
MASV
KZerenidis
stmanzaf
gkougeor
Captain
gp6
superkolios
evgns
George_RT
NickSpan
k_tasio_
panapasc05
kosovi
chrysolog
Nikos_313
Εμφάνιση

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

Νέα!
Για αλλαγή του public name σας, επικοινωνήστε με έναν από τους Admins.
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 2189 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...