• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
March 20, 2026, 10:33:39 am

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.
March 20, 2026, 10:33:39 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Thmmy-συνάντηση 21 Μάρτιο...
by GrillOG
[Today at 00:20:28]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[March 19, 2026, 18:00:59 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[March 19, 2026, 17:59:31 pm]

Ανακοίνωση - Οι εγγραφές ...
by IEEE SB
[March 19, 2026, 17:13:57 pm]

Η κεντρική γείωση έχει τά...
by chatzikys
[March 18, 2026, 22:45:22 pm]

[ΣΑΕ ΙΙ] Γενικές απορίες ...
by Saint_GR
[March 18, 2026, 19:27:08 pm]

[Βάσεις Δεδομένων] Ανακοι...
by grepanis
[March 18, 2026, 19:19:51 pm]

Ερωτηματολόγιο : Νέα Χρήσ...
by Μπιγκόνια
[March 18, 2026, 18:46:21 pm]

[2ο εξ. ΝΠΣ] Επιλογή Συγγ...
by Petross
[March 18, 2026, 13:04:37 pm]

Ορκωμοσία χειμερινού εξαμ...
by george14
[March 17, 2026, 19:11:37 pm]

Χαρακτηριστικά Laptop
by Spiros853
[March 17, 2026, 14:35:46 pm]

[Αντικειμενοστραφής Πρ.] ...
by tony stank
[March 17, 2026, 10:44:30 am]

[Τηλεπ.Συστήματα ΙΙ] Γενι...
by migk
[March 16, 2026, 14:14:01 pm]

Αποτελέσματα Εξεταστικής ...
by tony stank
[March 16, 2026, 07:57:24 am]

Πρόγραμμα Εαρινής Εξεταστ...
by okan
[March 16, 2026, 04:28:24 am]

ΣΥΝΑΥΛΙΑ ΓΙΑ ΜΕΤΑΦΟΡΙΚΑ Ε...
by cvakadimas
[March 14, 2026, 23:39:36 pm]

Μαθήματα Επιλογής 6ου Εξα...
by Fraser
[March 13, 2026, 14:27:32 pm]

Εργασίες Αφαίρεσης Αμιάντ...
by YetAnotherECEStudent
[March 12, 2026, 22:16:30 pm]

[Σύγχρονα Ενεργειακά Συστ...
by RíoGrande
[March 12, 2026, 19:11:57 pm]

Απορία για διπλωματικές
by Mr Watson
[March 12, 2026, 18:19:23 pm]
Στατιστικά
Members
Total Members: 10364
Latest: andreasdim
Stats
Total Posts: 1430818
Total Topics: 31976
Online Today: 723
Online Ever: 9872
(February 17, 2026, 10:41:42 am)
Users Online
Users: 22
Guests: 426
Total: 448
kmarkad
Tzokas
Thanasiscon1
Vaskas
filkilkis
kvas
mike1996
apob
parvanitid
LambisTr
xorxe
Manifold
Tasos Bot
angelos
dimitris585
aris123321
Pcsc
dimopana
nikpapoutsi
Gaspard
manek
Εμφάνιση

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

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: RivenT, tony stank) > [C++] τι τυπωνει
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 Go Down Print
Author Topic: [C++] τι τυπωνει  (Read 9085 times)
inspired
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 127



View Profile WWW
[C++] τι τυπωνει
« on: January 30, 2011, 19:37:08 pm »

τη συγκεκριμενη ασκηση την εδειξαν στο τελευταιο μαθημα

Code:
#include <iostream>
using namespace std;

class A{
  protected:
    static int k;
  public:
    static int fun(int n){k=n+2;return k;}
    operator int(){return A::fun(3);}
};

int A::k;
class B:public A{
    int n;
  public:
    int bfun(){return n+A::fun(n);}
    B(int m){n=m+k;}
    void out(){cout<<n<<"\n"<<k<<"\n";}
};

int main()
{B b(4);
 A a;
 cout<<A::fun(2)<<"\n";
 cout<<b.bfun()<<"\n";
 cout<<a+b<<"\n";
 b.out();

 return 1;
}

το cout<<a+b τυπωνει 10
μπορει καποιος να εξηγησει γιατι αλλα και πως δουλευει ακριβως αφου δν εχουμε επικαλυψη του + ?

και η επικαλυψη του int() τι κανει επισης?
ευχαριστω
« Last Edit: January 30, 2011, 19:59:21 pm by Wade » Logged

Circular Media Player


circular-mp.sourceforge.net
arashi
Καταστραμμένος
********
Gender: Male
Posts: 5113


Tell them how I'm defying gravity


View Profile
Re: τι τυπωνει
« Reply #1 on: January 30, 2011, 19:41:03 pm »

Βαλτε ενα [Προγραμματιστικες Τεχνικες] στον τιτλο ρε παιδια.......
Logged

クリスチネットあなたの者だから...
varvoutis
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 746


http://www.nietzsche-quotes.com/


View Profile
Re: τι τυπωνει
« Reply #2 on: January 30, 2011, 20:04:14 pm »

Δεν ειναι επικαλυψη του int(). Ειναι σκετο επικαλυψη των (). To int ειναι ο επιστρεφομενος τυπος. Αυτο που θα επιστραφει δηλαδη ειναι τυπου int ( ακεραιος )

Οσον αφορα την επικαλυψη των () εχει εκτενες αφιερωμα στο βιβλιο! ( σελ 366-368 ) Grin

Μπερδευτηκες γιατι ειτε εσυ, ειτε ο διδασκων το γραψε λαθος... ( αμαν αυτα τα λαθη, τοσα ουτε στο σχολειο  Angry )

Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()
Logged

Τι θα γίνει Μπόκολη;
varvoutis
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 746


http://www.nietzsche-quotes.com/


View Profile
Re: [C++] τι τυπωνει
« Reply #3 on: January 30, 2011, 20:09:57 pm »

Εκανες τον κοπο να το τρεξεις σε κανεναν compiler?

πω πρεπει να κοψω το πολυ το διαβασμα, με κανει να βγαζω τον κακο μου εαυτο
Logged

Τι θα γίνει Μπόκολη;
nikitas350
Καταξιωμένος/Καταξιωμένη
***
Posts: 201



View Profile
Re: τι τυπωνει
« Reply #4 on: January 30, 2011, 20:51:02 pm »

Quote from: varvoutis on January 30, 2011, 20:04:14 pm
Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()

Όταν λες δεν υπάρχει τι έννοεις?
Logged
sidj0n
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 53



View Profile
Re: τι τυπωνει
« Reply #5 on: January 30, 2011, 21:19:37 pm »

Quote
Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()

υπαρχει και μετατρέπει τη μεταβλητή τύπου χ που δέχετα στις αγκύλες σε τυπου int.στη συγκεκριμένη περίπτωση επειδή τον δημιουργεί ο χρήστης τον τύπο πρέπει να γiνεi overload
Logged

aaa
Νεούλης/Νεούλα
*
Gender: Female
Posts: 41


one day you'll dance for me..


View Profile
Re: [C++] τι τυπωνει
« Reply #6 on: January 30, 2011, 21:20:12 pm »

cout<<a+b  

γιατί τυπώνει 10? μπορεί κάποιος να το εξηγείσει?
και τη σημαίνει αυτή η εντολή? να προσθέσουμε τα δύο αντικείμενα? δηλαδή τι?
Logged

sometimes you make me feel like i'm living at<br />the edge of the world, like i'm living at the edge<br />of the world<br /> "it's just the way i smile" you said
varvoutis
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 746


http://www.nietzsche-quotes.com/


View Profile
Re: τι τυπωνει
« Reply #7 on: January 30, 2011, 21:38:04 pm »

Quote from: nikitas350 on January 30, 2011, 20:51:02 pm
Quote from: varvoutis on January 30, 2011, 20:04:14 pm
Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()

Όταν λες δεν υπάρχει τι έννοεις?

εννοω οτι δε στεκει αυτος ο τροπος γραφης... στεκει; δε θα πρεπε να ειναι αλλιως; τι ειδος επιστρεφει η επικαλυψη του τελεστη ();

δεν ξερω, μαλακιες λεω;
Logged

Τι θα γίνει Μπόκολη;
sidj0n
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 53



View Profile
Re: [C++] τι τυπωνει
« Reply #8 on: January 30, 2011, 21:39:01 pm »

Quote from: aaa on January 30, 2011, 21:20:12 pm
cout<<a+b  

γιατί τυπώνει 10? μπορεί κάποιος να το εξηγείσει?
και τη σημαίνει αυτή η εντολή? να προσθέσουμε τα δύο αντικείμενα? δηλαδή τι?



σε αυτή την εντολή το πρώτο πράγμα που κοιτάει ο μεταγλωτιστής είναι αν είναι  γνωστού τύπου ώστε να γίνει η πρόσθεση, μετά αν υπάρχει υπερφόρτωση του + και μετά αν μπορεί να γίνεi κάποια μετατροπή στο τύπο ώστε να είναι δυνατή η πρόσθεση.στη περίπτωση αυτή γίνετai το τελευταίο οπότε καλείτε αυτόματα ο operator int για κάθε αντικείμενο.
Logged

varvoutis
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 746


http://www.nietzsche-quotes.com/


View Profile
Re: τι τυπωνει
« Reply #9 on: January 30, 2011, 21:47:56 pm »

Quote from: varvoutis on January 30, 2011, 20:04:14 pm
Δεν ειναι επικαλυψη του int(). Ειναι σκετο επικαλυψη των (). To int ειναι ο επιστρεφομενος τυπος. Αυτο που θα επιστραφει δηλαδη ειναι τυπου int ( ακεραιος )

Οσον αφορα την επικαλυψη των () εχει εκτενες αφιερωμα στο βιβλιο! ( σελ 366-368 ) Grin

Μπερδευτηκες γιατι ειτε εσυ, ειτε ο διδασκων το γραψε λαθος... ( αμαν αυτα τα λαθη, τοσα ουτε στο σχολειο  Angry )

Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()


Quote from: varvoutis on January 30, 2011, 21:38:04 pm
Quote from: nikitas350 on January 30, 2011, 20:51:02 pm
Quote from: varvoutis on January 30, 2011, 20:04:14 pm
Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()

Όταν λες δεν υπάρχει τι έννοεις?

εννοω οτι δε στεκει αυτος ο τροπος γραφης... στεκει; δε θα πρεπε να ειναι αλλιως; τι ειδος επιστρεφει η επικαλυψη του τελεστη ();

δεν ξερω, μαλακιες λεω;


ωραια το μυστηριο λυθηκε, μαλακιες ελεγα τελικα!  redface redface

Quote from: varvoutis on January 30, 2011, 20:09:57 pm
Εκανες τον κοπο να το τρεξεις σε κανεναν compiler?

πω πρεπει να κοψω το πολυ το διαβασμα, με κανει να βγαζω τον κακο μου εαυτο


το ετρεξα εγω, βγαζει αυτο το πραμα:

Code:
4
10
10
4
5

τωρα τι και πώς, δεν ξερω. να μαθω αλλη φορα να κανω τον εξυπνο...

το ερωτημα ειναι τωρα τι σημαινει αυτος ο τροπος γραφης

operator int(){return A::fun(3);}

εδιτ: οριστε και τι σημαινει

Quote from: sidj0n on January 30, 2011, 21:19:37 pm
Quote
Δε νομιζω να υπαρχει τετοιο πραμα operator int() Μαλλον αυτο θα ηθελε να γραψει int operator()

υπαρχει και μετατρέπει τη μεταβλητή τύπου χ που δέχετα στις αγκύλες σε τυπου int.στη συγκεκριμένη περίπτωση επειδή τον δημιουργεί ο χρήστης τον τύπο πρέπει να γiνεi overload

πισω στη σπηλια μου  tafos

« Last Edit: January 30, 2011, 21:51:05 pm by varvoutis » Logged

Τι θα γίνει Μπόκολη;
spiounos
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 59



View Profile
Re: [C++] τι τυπωνει
« Reply #10 on: January 30, 2011, 21:51:30 pm »

Quote from: aaa on January 30, 2011, 21:20:12 pm
cout<<a+b  

γιατί τυπώνει 10? μπορεί κάποιος να το εξηγείσει?
και τη σημαίνει αυτή η εντολή? να προσθέσουμε τα δύο αντικείμενα? δηλαδή τι?

σ'αυτην την περιπτωση προσθετεις δυο αντικειμενα....ομως ο compiler δεν αναγνωριζει αυτην την πραξη...οποτε ψαχνει καπου για επικαλυψη του τελεστή +....δεν την βρισκει ....μετά ψαχνει για συναρτηση/επικαλυψη μετατροπης τυπου....εδω η operator int().....και καλειται για καθε αντικειμενο(εκτελειται το σωμα της δηλαδη)....

πριν το cout << a+b  το k=6 και το n=4.....οποτε καλειται για το a αντικειμενο η operator int και επιστρεφει 5 ,μετα καλειται για το b και επιστρεφει 5 (κατανοητο το 5 απο σωμα της operator),αρα 5+5=10.....

αν και με προλαβαν ,δεν πειραζει....
Logged

always try to be better
leon-SPT
Θαμώνας
****
Gender: Male
Posts: 319



View Profile
Re: [C++] τι τυπωνει
« Reply #11 on: January 30, 2011, 22:33:20 pm »

Παιδιά στο συγκεκριμένο πρόγραμμα μπορεί κάποιος παρακαλώ να εξηγήσει κάθε τιμή πως εκτυπώνεται? Διαβασα τις static αλλά δεν ξέρω πραγματικά πως κάθεται... Αν μπορείτε λίγο να με βάλετε στον τρόπο σκέψης..
Logged
inspired
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 127



View Profile WWW
Re: [C++] τι τυπωνει
« Reply #12 on: January 30, 2011, 23:14:18 pm »

Quote from: spiounos on January 30, 2011, 21:51:30 pm
Quote from: aaa on January 30, 2011, 21:20:12 pm
cout<<a+b  

γιατί τυπώνει 10? μπορεί κάποιος να το εξηγείσει?
και τη σημαίνει αυτή η εντολή? να προσθέσουμε τα δύο αντικείμενα? δηλαδή τι?

σ'αυτην την περιπτωση προσθετεις δυο αντικειμενα....ομως ο compiler δεν αναγνωριζει αυτην την πραξη...οποτε ψαχνει καπου για επικαλυψη του τελεστή +....δεν την βρισκει ....μετά ψαχνει για συναρτηση/επικαλυψη μετατροπης τυπου....εδω η operator int().....και καλειται για καθε αντικειμενο(εκτελειται το σωμα της δηλαδη)....

πριν το cout << a+b  το k=6 και το n=4.....οποτε καλειται για το a αντικειμενο η operator int και επιστρεφει 5 ,μετα καλειται για το b και επιστρεφει 5 (κατανοητο το 5 απο σωμα της operator),αρα 5+5=10.....

αν και με προλαβαν ,δεν πειραζει....


ααα μπραβο, αυτα θυμαμαι ειχε πει κ αυτος στην ασκηση... αλλα ειχα αργησει ν παω κ δν τ ειχα προλαβει  Tongue



Quote from: leon-SPT on January 30, 2011, 22:33:20 pm
Παιδιά στο συγκεκριμένο πρόγραμμα μπορεί κάποιος παρακαλώ να εξηγήσει κάθε τιμή πως εκτυπώνεται? Διαβασα τις static αλλά δεν ξέρω πραγματικά πως κάθεται... Αν μπορείτε λίγο να με βάλετε στον τρόπο σκέψης..
αρχικα thumbs up για το quake 3 Cheesy (μολις τελειωσει η εξεταστικη ν σκισουμε καμια dm17 με rails :p

οσο για τις static, σκεψου οτι στο συγκεκριμενο παραδειγμα η k π ειναι στατικ θα εχει την ΙΔΙΑ τιμη για ολα τα αντκειμενα π θα δημιουργηθουν στις κλασεις A και B

δλδ οταν εχεις μια κλαση με τον ποιο απλο κωδικα
class paradeigma
{static int k}; (νταξει κ οτι αλλο μετα μεσα)

οσα αντικειμενα της κλασης θα φτιαξεις θα μοιραζονται το ιδιο k( οποια αλλαγη γινει στο k δλδ απο ενα αντικειμενο, αλλαζει ταυτοχρονα το k ολων των αντικειμενων)

ενω αν το k δν ηταν static καθε αντικειμενο θα ειχε το δικο του k και τελος

τωρα προσπαθησε ν τ τρεξεις κ πες οποια αλλη αποροια
Logged

Circular Media Player


circular-mp.sourceforge.net
leon-SPT
Θαμώνας
****
Gender: Male
Posts: 319



View Profile
Re: [C++] τι τυπωνει
« Reply #13 on: January 30, 2011, 23:23:24 pm »

Οσο για το Quake τα καλύτερα παιχνίδια γίνονται μέσα στην εκεταστική Tongue..

Λοιπόν, πχ όταν δημιουργώ το B b(4);
Εδώ λαμβάνω υπόψι τις παρενθέσεις που έχουν γίνει επικάλυψη? Και αν ναι πως?
Εγω το σκέφτομαι πχ ότι b(4).
Αρα πάω στον constructor της B και βάζω m=4... Μετά βλέπω μέσα στο σώμα της και αρχίζω να μπερδεύομαι.
n = m+k;
Βάζω m=4 και έχω n=m + k
Και μετά αυτοσχεδιάζω... ΤΙ ΠΑΙΖΕΙ?
Logged
sakaflias7
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3506


Μήπως κανένας καλός είμαι?


View Profile WWW
Re: [C++] τι τυπωνει
« Reply #14 on: January 30, 2011, 23:35:46 pm »

o k  ειναι στατικ κ εχει εξορισμου 0 αρχικα...
Logged
Pages: [1] 2 3 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...