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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[Today at 19:07:04]

[Γραφική] Λυμένα θέματα
by okanpala
[Today at 18:56:22]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by asemas
[Today at 16:20:27]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

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

[Οργάνωση Υπολογιστών] Γε...
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]

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

[Σ.Π.Η.Ε.] Παλιά θέματα -...
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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426693
Total Topics: 31710
Online Today: 218
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 72
Guests: 119
Total: 191
evitzv
summersunshine
mariachatz
ThanosKoutsoump
pliroforikarios
Nikolas Tsamitros
panapasc05
anna.ts
xarabalios
maik
Theislander
mhtsakos02
theodoridoueu
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
alex_g
swthrhs
George_RT
Nekt
nikol michalou
Conriz
ellimoschou
kstavroulis
unreasonable
Billyskotsikas
marilita
ariadnipm
HlektrikhPatata
Yamal
pkoko
andripappa
georkala
kimxnas
Νικηφόρος Πατσιούρας
Saint_GR
xarisagraf
tzortzis
sotirispo2
Nikos.Ts
florianm
TitiTs
asemas
kchristoua
Stathisxd
dimitire
Christop
xanthosp
chaniotism
skoloni
dtkyriak
dorapangeiou
ONETWIN
gmout
vpoug
Captain
akoil
Thanasiscon1
Haralampos
Bit4Thought
apapagd
mmikelo
Panagismark
arisap
Don
user182
Εμφάνιση

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

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



View Profile WWW
[C++] τι τυπωνει
« on: January 30, 2011, 20: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, 20: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, 20:41:03 pm »

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

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


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


View Profile
Re: τι τυπωνει
« Reply #2 on: January 30, 2011, 21: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, 21:09:57 pm »

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

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

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



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

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

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



View Profile
Re: τι τυπωνει
« Reply #5 on: January 30, 2011, 22: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, 22: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, 22:38:04 pm »

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

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

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

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

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



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

Quote from: aaa on January 30, 2011, 22: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, 22:47:56 pm »

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

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

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

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


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

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

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

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


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

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

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


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

Code:
4
10
10
4
5

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

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

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

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

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

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

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

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

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



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

Quote from: aaa on January 30, 2011, 22: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, 23:33:20 pm »

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



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

Quote from: spiounos on January 30, 2011, 22:51:30 pm
Quote from: aaa on January 30, 2011, 22: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, 23: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 31, 2011, 00:23:24 am »

Οσο για το 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 31, 2011, 00:35:46 am »

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...