Show Posts
|
Pages: [1] 2 3 ... 5
|
11
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Παλιά θέματα - Σχολιασμός και απορίες
|
on: February 26, 2013, 22:39:23 pm
|
Στο θέμα 1 σεπτ 2010 μπορεί κάποιος να εξηγήσει πώς θα το κάνουμε;; Αν κατάλαβα καλά, θα φτιάξουμε μία βασική τάξη, και από κάτω δύο παράγωγες, μία για κυκλώματα τύπου Α και μία για τύπου Β. Έξω από όλες τις τάξεις θα γράψουμε τη συνάρτηση που θέλει, η οποία θα χρησιμοποιέι virtual συναρτήσεις για να μας δώσει το αποτέλεσμα. Τον πίνακα τον οποίο θα πάρει σαν όρισμα η συνάρτηση, θα τον φτιάξουμε εμείς μέσα στη main, π.χ. αν ο πίνακας είναι **C, θα γράψουμε, C[0]=&a, C[1]=&a... C[5]=&b, ?? Κάτι που όμως δεν θα ήταν σωστό αν ζητούσε ανεξαρτησία λογισμικού.. Είναι σωστά αυτά που έγραψα?? Και επίσης, το μέγεθος του πίνακα που θα το ορίσουμε;; Στη main?
μπορεις να μ εξηγησεις γιατι ο πινακας να ειναι **C κ οχι *C?? Θες πίνακα από pointers για να μπορείς σε κάθε έναν από αυτούς να εφαρμόσεις τη virtual συνάρτηση. Αν ήταν *C θα έιχες πίνακα από αντικείμενα.
|
|
|
12
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Παλιά θέματα - Σχολιασμός και απορίες
|
on: February 26, 2013, 21:49:54 pm
|
Στο θέμα 1 σεπτ 2010 μπορεί κάποιος να εξηγήσει πώς θα το κάνουμε;; Αν κατάλαβα καλά, θα φτιάξουμε μία βασική τάξη, και από κάτω δύο παράγωγες, μία για κυκλώματα τύπου Α και μία για τύπου Β. Έξω από όλες τις τάξεις θα γράψουμε τη συνάρτηση που θέλει, η οποία θα χρησιμοποιέι virtual συναρτήσεις για να μας δώσει το αποτέλεσμα. Τον πίνακα τον οποίο θα πάρει σαν όρισμα η συνάρτηση, θα τον φτιάξουμε εμείς μέσα στη main, π.χ. αν ο πίνακας είναι **C, θα γράψουμε, C[0]=&a, C[1]=&a... C[5]=&b, ?? Κάτι που όμως δεν θα ήταν σωστό αν ζητούσε ανεξαρτησία λογισμικού.. Είναι σωστά αυτά που έγραψα?? Και επίσης, το μέγεθος του πίνακα που θα το ορίσουμε;; Στη main?
|
|
|
13
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [Προγραμματιστικές Τεχνικές] Γενικές απορίες ανακοινώσεις/επικαιρότητα 2012/2013
|
on: February 26, 2013, 20:50:12 pm
|
Όταν ζητάει να κάνουμε ανεξάρτητη συνάρτηση(είδα οτι υπάρχει σε παλιότερα θέματα) , ειναι απαραίτητο να γίνει με virtual ή είναι εξίσου σωστό με template ??
Ειχα ρωτησει το Μαμαλακη προχθες γι αυτο το θεμα και μου ειπε οτι χρησιμοποιεις template μονο και εφοσον στο λεει στην εκφωνηση. Επομενως, αν δε γραφει κατι τετοιο, το πας με κληρονομικοτητα και virtual συναρτησεις. Ευχαριστώ!Άρα όταν ζητάει η συνάρτηση να είναι ανεξάρτητη απο τον τύπο και τον αριθμό των μπλα μπλα , απλά κάνω την συγκεκριμένη συνάρτηση virtual και χρησιμοποιώ διπλό pointer(**p) για την αποθήκευση των στοιχέιων ο οποίος όμως δεν είναι απαραίτητο να είναι static...Σωστά? Πάντως στη φετινή εργασία E (που ζητάει η συνάρτηση get_total_P() να είναι ανεξάρτητη από αριθμό και τύπο συσκευών ) και τον static, στην base class, pointer σε pointer χρησιμοποιεί και η get_total_P() δεν είναι μέλος ούτε της base class αλλά ούτε και των derived classes Επισυνάπτω Πάντως νομίζω ανάλογα με το τι θέλει η άσκηση πότε χρησιμοποιείς virtual, πότε static και συνάρτηση που δεν είναι μέλος Εγώ, ας πούμε χρειάστηκε να τα χρησιμοποιήσω και τα δύο όταν έλυνα ένα παλιό θέμα (χωρίς απαραίτητα να σημαίνει ότι το υλοποίησα και απολύτως σωστά  ) Να πω και εγώ την άποψη μου γτ νομίζω μπερδεύετε κάποια πράγματα(ξερόλας incoming).. Τις static μεταβλητές τις χρησιμοποιείς για να μην δίνεις σαν όρισμα στην συνάρτηση το πλήθος των αντικειμένων. Η ανεξαρτησία της συνάρτησης ως προς το είδος των αντικειμένων γίνεται με κληρονομικότητα και τον ορισμό μιας βασικής τάξης η οποία και αποθηκεύει τα αντικείμενα στο constructor της(το κομμάτι με το this στην άσκηση του παραθέτει ο varvoutis). Η virtual έχει να κάνει με την γενικότητα. Δηλαδή αν όλες οι τάξεις σου κάνουν μια ενέργεια το ίδιο(έστω return) τότε ορίζεις μια virtual συνάρτηση=0 στην βασική τάξη και κάθε παραγόμενη ξαναορίζει τι θα επιστρέφει με βάση τις μεταβλητές που έχει στo private κομμάτι της. Άρα το virtual δεν έχει σχέση αυτό καθε αυτό με την ανεξαρτησία της συνάρτησης που ζητάει. Γίνεται για να αποκτήσεις γενικότητα ως προς το είδος των αντικειμένων που μπορείς να φτιάξεις.. Η άσκηση Ε είναι ακριβώς αυτό που θέλει για ανεξαρτησία συνάρτησης και ταυτόχρονα ανεξαρτησία τύπου αντικειμένων. Και η ανεξαρτησία ως προς τον αριθμό των αντικειμένων πώς γίνεται; Και κάτι ακόμα.. Στην Ε, δημιουργεί αντικέιμενο αμέσως μετά τον ορισμό της τάξης για να έχουμε ανεξαρτησία στη main;; Αν δεν ζητάει ανεξάρτησία λογισμικού τί κάνουμε; Μέσα στη main ορίζουμε αντικείμενα; Για παράδειγμα στην Ε θα γράφαμε μέσα στη main: device1 omh("OMH"); device2 motor("motor"); ??
|
|
|
14
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Παλιά θέματα - Σχολιασμός και απορίες
|
on: February 26, 2013, 18:08:08 pm
|
Στο θέμα 2 του Φλεβάρη του 12, που λέει αν M==1 τότε return float, αν Μ==2 τότε return float, αν Μ==3 τότε return int πώς υλοποιείται αυτό;
Εγω με αναφορικες παραμετρους το εκανα, μπορει να υπαρχει κι αλλος τροπος βεβαια. δηλαδη η παραμετρική συνάρτηση που χρησιμοποίησες ήταν τύπου void? Ναι, τυπου void την εκανα. Η αναφορική παράμετρος τί τύπου ήταν; Μπορείς να γράψεις πώς το έκανες; Και κάτι ακόμα.. Στα ορίσματα της συνάρτησης θα βάλουμε και πόσα αντικέιμενα περιέχει ο πίνακας;
|
|
|
15
|
Τμήμα-Πανεπιστήμιο-Παιδεία / Πανεπιστήμιο.gr / Re: φεστιβάλ σεξουαλικότητας 22-23-24/2 στη ΣΘΕ
|
on: February 21, 2013, 22:45:45 pm
|
Και μια αναλογία - ερώτηση:
Ζητάμε άδεια από το δήμαρχο για να περπατήσουμε στο δρόμο;
Ανάλογα, Όχι, αλλά ζητάς άδεια για να κάνεις μια εκδήλωση σε μια πλατεία. Δεν το βλέπει ο δήμαρχος σε αφίσα και λέει: "Αα τι καλά, εκδήλωση!" Ακόμη και αν τα έχεις όλα κανονισμένα και ο δήμος δεν ανακατευτεί στην πραγματοποίησή της
|
|
|
|