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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πότε θα βγει το μάθημα; -...
by chatzikys
[Today at 12:40:39]

Των συνειρμών το παίγνιο....
by Μπιγκόνια
[June 18, 2026, 23:20:46 pm]

[Διανεμημένη Παραγωγή] Γε...
by katerina zaifi
[June 18, 2026, 20:32:27 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 18, 2026, 18:51:29 pm]

[Η/Μ Πεδίο ΙΙ] Γενικές απ...
by Nikos_313
[June 18, 2026, 14:01:54 pm]

[Ηλεκτρονική ΙΙ] Γενικές ...
by nmpampal
[June 18, 2026, 07:37:37 am]

[Οργάνωση Υπολογιστών] Γε...
by Lalson
[June 17, 2026, 10:37:39 am]

Κάμερες στην Πρυτανεία το...
by RivenT
[June 16, 2026, 23:48:23 pm]

[Μικροεπεξεργαστές] Γενικ...
by G.V.
[June 16, 2026, 15:31:13 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by femanak
[June 16, 2026, 11:11:17 am]

H Στοά των Off Topic
by χηρουλα Αλεξίου
[June 15, 2026, 17:39:58 pm]

Γιατί οι ΤΗΜΜΥδες έχουν μ...
by Karaμazoβ
[June 15, 2026, 14:31:16 pm]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Λαμπτήρας
[June 12, 2026, 13:36:19 pm]

[Ισχύος II] Γενικές απορί...
by Nikos_313
[June 11, 2026, 14:05:57 pm]

[Ημιαγωγά Υλικά] Απορίες ...
by Nikos_313
[June 11, 2026, 10:23:04 am]

[Ευφυή και Προσαρμοστικά ...
by grepanis
[June 11, 2026, 10:11:51 am]

[Γραφική] Λυμένα θέματα
by Roidos
[June 10, 2026, 21:37:48 pm]

Τι ακούτε αυτήν τη στιγμή...
by Karaμazoβ
[June 10, 2026, 18:42:33 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Giannis Masterio
[June 09, 2026, 20:27:57 pm]

[ΣΑΕ ΙΙ] Απορίες σε ασκήσ...
by Hyperlaz02
[June 09, 2026, 12:01:45 pm]
Στατιστικά
Members
Total Members: 10402
Latest: anton
Stats
Total Posts: 1431480
Total Topics: 32024
Online Today: 1387
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 49
Guests: 759
Total: 808
Antonis Mak
apob
PAPARI69
DespoinaKarategou
kthanop
jkara
Giannisl
iamop
chrysa.tsilika
vpoug
smantzaa
Pumpakos
anna.ts
immo
kstavroulis
Sweet Sok
thaliatsk
user4
Efthimis
ThanosKoutsoump
efi
elias_farhood
myrto
Pavloska
savvastzan
chondrosp
Petross
difis
stavr0s16
mgrivab
stavros0201
Neophytosg
Demits
DimitrisKost
ggalamat
iliaspapas
zontos
kourasan!
mastilia
papaloui
Nekt
alice
hoo2
mimaki
Εμφάνιση

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

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: RivenT, tony stank) > [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 4 5 [6] 7 8 Go Down Print
Author Topic: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11  (Read 19081 times)
sexycowboy
Θαμώνας
****
Posts: 456



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #75 on: November 25, 2012, 14:21:47 pm »

Quote from: manos on November 25, 2012, 14:15:16 pm
Όταν δηλώνουμε έναν πίνακα με αντικείμενα μιας κλάσης και δεσμεύουμε μνήμη έστω για 5 θέσεις δεν θα έπρεπε να εκτελείται ο constructor που έχουμε ορίσει στην κλάση 5 φορές?Για παράδειγμα όταν ορίζω την κλάση

class test{
      int k;
public:
       test(void);     
};
test::test(void){
    k=7;
    cout <<"k="<<k<<"\n";
} 

και στη συνάρτηση main ορίζω τον πίνακα list με αντικείμενα τύπου test

test *list;
if ((list=(test *)malloc(5*sizeof(test)))==NULL){                       
        exit(1);
   }
δε θα έπρεπε να εκτυπώνεται 5 φορές "k=7"?


Με αυτό που έχεις γράψει δεσμεύεις μνήμη. Δε δημιουργείς αντικείμενα και συνεπώς δεν τρέχει κανένας constructor. Είναι σαν να του λες "Κράτησε μου χώρο για 5 αντικείμενα" όχι "Φτιάξε 5 αντικείμενα". Μετά θα πρέπει να δημιουργήσεις τα αντικείμενα.
Logged
manos
Νεούλης/Νεούλα
*
Posts: 44


View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #76 on: November 25, 2012, 14:27:16 pm »

Δοκίμασα στη συνέχεια την εντολή test list[0]; για να φτιάξω το πρώτο αντικείμενο της λίστας και μου βγάζει σφάλμα ότι αυτή η δήλωση έρχεται σε σύγκρουση με την προηγούμενη δήλωση test *list;.
Logged
Mr K
Guest
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #77 on: November 25, 2012, 14:59:39 pm »

Quote from: manos on November 25, 2012, 14:27:16 pm
Δοκίμασα στη συνέχεια την εντολή test list[0]; για να φτιάξω το πρώτο αντικείμενο της λίστας και μου βγάζει σφάλμα ότι αυτή η δήλωση έρχεται σε σύγκρουση με την προηγούμενη δήλωση test *list;.

Πρώτα δημιουργησε ενα αντικειμενο για λίγο
test Random_Object(ορισματα του constructor που θέλεις)

και μετά βάλτο στον πινακα τυπου object
list[0]= Random_Object
Logged
anchelon
Θαμώνας
****
Posts: 492



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #78 on: November 25, 2012, 16:57:23 pm »

Ο κ Συμμεωνίδης μας είχε αναφέρει ότι όταν δημιουργούμε δυναμικά έναν πίνακα αντικειμένων πρεπει να κάνουμε την παρακάτω διαδικασία:
class A{}
main{
   A *P;
   p=(A*).....
   for(int i=0;i<N;i++){
         A temp;
         P=temp;//εδώ εννοείται το i σε αγκύλες πίνακα.δν το εμφανίζει!
   }
που ουσιαστικά δημιουργεί χώρο για το κάθε στοιχείο του πίνακα αντικειμένων.Μπορώ μέσα σε αυτή τη διαδικασία να προσδώσω κ τιμές στα στοιχεία του πίνακα αντικ. ή πρέπει να το κάνω ξεχωριστά??
                
Logged
Locke
Ανερχόμενος/Ανερχόμενη
**
Posts: 77



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #79 on: November 25, 2012, 17:04:55 pm »

Quote from: anchelon on November 25, 2012, 16:57:23 pm
Ο κ Συμμεωνίδης μας είχε αναφέρει ότι όταν δημιουργούμε δυναμικά έναν πίνακα αντικειμένων πρεπει να κάνουμε την παρακάτω διαδικασία:
class A{}
main{
   A *P;
   p=(A*).....
   for(int i=0;i<N;i++){
         A temp;
         P=temp;//εδώ εννοείται το i σε αγκύλες πίνακα.δν το εμφανίζει!
   }
που ουσιαστικά δημιουργεί χώρο για το κάθε στοιχείο του πίνακα αντικειμένων.Μπορώ μέσα σε αυτή τη διαδικασία να προσδώσω κ τιμές στα στοιχεία του πίνακα αντικ. ή πρέπει να το κάνω ξεχωριστά??
                

Αν όμως το αντικείμενο temp έχει συνάρτηση αρχικών συνθηκών δεν θα πρέπει όταν θα το δηλώσουμε να βάλουμε και τα ορίσματα;
Τί ορίσματα θα βάλουμε εκεί;

π.χ. έχω δεσμεύσει μνήμη και θέλω σε κάθε μία θέση του πίνακα να καταχωρώ ένα αντικείμενο του οποίου τα ορίσματα τα δίνει ο χρήστης. Αυτό πώς το κάνουμε;
Logged
anchelon
Θαμώνας
****
Posts: 492



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #80 on: November 25, 2012, 17:31:13 pm »

Quote from: Locke on November 25, 2012, 17:04:55 pm
Quote from: anchelon on November 25, 2012, 16:57:23 pm
Ο κ Συμμεωνίδης μας είχε αναφέρει ότι όταν δημιουργούμε δυναμικά έναν πίνακα αντικειμένων πρεπει να κάνουμε την παρακάτω διαδικασία:
class A{}
main{
   A *P;
   p=(A*).....
   for(int i=0;i<N;i++){
         A temp;
         P=temp;//εδώ εννοείται το i σε αγκύλες πίνακα.δν το εμφανίζει!
   }
που ουσιαστικά δημιουργεί χώρο για το κάθε στοιχείο του πίνακα αντικειμένων.Μπορώ μέσα σε αυτή τη διαδικασία να προσδώσω κ τιμές στα στοιχεία του πίνακα αντικ. ή πρέπει να το κάνω ξεχωριστά??
                

Αν όμως το αντικείμενο temp έχει συνάρτηση αρχικών συνθηκών δεν θα πρέπει όταν θα το δηλώσουμε να βάλουμε και τα ορίσματα;
Τί ορίσματα θα βάλουμε εκεί;

π.χ. έχω δεσμεύσει μνήμη και θέλω σε κάθε μία θέση του πίνακα να καταχωρώ ένα αντικείμενο του οποίου τα ορίσματα τα δίνει ο χρήστης. Αυτό πώς το κάνουμε;
εγώ κάπως έτσι το έκανα:

for(int i=0;i<N;i++){
            cin >>c>>q>>o>>p;
            product temp(c,q,o,p);
            PRO=temp;
        }
Logged
Locke
Ανερχόμενος/Ανερχόμενη
**
Posts: 77



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #81 on: November 25, 2012, 17:58:09 pm »

Quote from: anchelon on November 25, 2012, 17:31:13 pm
εγώ κάπως έτσι το έκανα:

for(int i=0;i<N;i++){
            cin >>c>>q>>o>>p;
            product temp(c,q,o,p);
            PRO=temp;
        }

Αν το temp έχει περισσότερες από μία σ.α.σ. πώς το κάνουμε; Θα ρωτήσουμε πρώτα τον χρήστη ποια θα χρησιμοποιήσει και μετα με if θα κάνουμε αυτό που έχεις γράψει για κάθε μία περίπτωση;
Logged
anchelon
Θαμώνας
****
Posts: 492



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #82 on: November 25, 2012, 18:11:27 pm »

Quote from: Locke on November 25, 2012, 17:58:09 pm
Quote from: anchelon on November 25, 2012, 17:31:13 pm
εγώ κάπως έτσι το έκανα:

for(int i=0;i<N;i++){
            cin >>c>>q>>o>>p;
            product temp(c,q,o,p);
            PRO=temp;
        }

Αν το temp έχει περισσότερες από μία σ.α.σ. πώς το κάνουμε; Θα ρωτήσουμε πρώτα τον χρήστη ποια θα χρησιμοποιήσει και μετα με if θα κάνουμε αυτό που έχεις γράψει για κάθε μία περίπτωση;
ναι εγώ έτσι το έκανα!
Logged
Locke
Ανερχόμενος/Ανερχόμενη
**
Posts: 77



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #83 on: November 25, 2012, 18:12:45 pm »

Quote from: anchelon on November 25, 2012, 18:11:27 pm
Quote from: Locke on November 25, 2012, 17:58:09 pm
Quote from: anchelon on November 25, 2012, 17:31:13 pm
εγώ κάπως έτσι το έκανα:

for(int i=0;i<N;i++){
            cin >>c>>q>>o>>p;
            product temp(c,q,o,p);
            PRO=temp;
        }

Αν το temp έχει περισσότερες από μία σ.α.σ. πώς το κάνουμε; Θα ρωτήσουμε πρώτα τον χρήστη ποια θα χρησιμοποιήσει και μετα με if θα κάνουμε αυτό που έχεις γράψει για κάθε μία περίπτωση;
ναι εγώ έτσι το έκανα!

οκ, σ ευχαριστώ πολύ!
Logged
heavy melon
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1386


making things complex


View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #84 on: November 25, 2012, 20:45:37 pm »

ορίζω τη συνάρτηση sale ως εξής:

Code:
void sale(product &proionta, int N)

proionta είναι ο πίνακας αντικειμένων

μέσα στη sale, ενώ την έχω ορίσει friend
όταν γράφω το proionta(i) μου βγάζει πολλά errors.
πώς πρέπει να ορίσω τη συνάρτηση για να έχει κανονικά πρόσβαση στο proionta(i);


Επίσης, αυτό με το temp μπορεί κάποιος να το εξηγήσει πιο λιανά; Tι είναι και πού χρειάζεται; Και αν είναι απαραίτητο;
« Last Edit: November 25, 2012, 20:48:11 pm by ~Irida~ » Logged

Μη γκρινιάζεις που δε σου 'ρθε η ζαριά
τζογάρισες στο όνειρο κι είσαι έτοιμος για όλα
bakeneko
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 7702


?


View Profile WWW
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #85 on: November 25, 2012, 20:52:12 pm »

πρέπει να την έχεις κάνει friend μέσα στην κλάση product για να έχει πρόσβαση στις μεταβλητές!
Logged

heavy melon
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1386


making things complex


View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #86 on: November 25, 2012, 20:55:27 pm »

Ναι αυτό εννοείται.

Code:
class 

public:
friend void sale(product &p,int N);


κάπως έτσι
Logged

Μη γκρινιάζεις που δε σου 'ρθε η ζαριά
τζογάρισες στο όνειρο κι είσαι έτοιμος για όλα
kofski17
Καταξιωμένος/Καταξιωμένη
***
Posts: 245



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #87 on: November 25, 2012, 20:58:09 pm »

Quote from: ~Irida~ on November 25, 2012, 20:45:37 pm
ορίζω τη συνάρτηση sale ως εξής:

Code:
void sale(product &proionta, int N)



ο ακέραιος Ν είναι το πόσα προϊόντα πάει ο πελάτης στο ταμείο στη συγκεκριμένη αγορά?
Logged

http://www.youtube.com/watch?v=gyEWkX3FNlY
heavy melon
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1386


making things complex


View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #88 on: November 25, 2012, 21:00:41 pm »

Quote from: kofski17 on November 25, 2012, 20:58:09 pm
Quote from: ~Irida~ on November 25, 2012, 20:45:37 pm
ορίζω τη συνάρτηση sale ως εξής:

Code:
void sale(product &proionta, int N)



ο ακέραιος Ν είναι το πόσα προϊόντα πάει ο πελάτης στο ταμείο στη συγκεκριμένη αγορά?

όχι ο Ν είναι ο αριθμός όλων των προϊόντων.
Logged

Μη γκρινιάζεις που δε σου 'ρθε η ζαριά
τζογάρισες στο όνειρο κι είσαι έτοιμος για όλα
kofski17
Καταξιωμένος/Καταξιωμένη
***
Posts: 245



View Profile
Re: [C++] Άσκηση B - 2012/2013 - Προθεσμία 25/11
« Reply #89 on: November 25, 2012, 21:06:16 pm »

πάντως από εκφώνηση:
να ορίζεται ακόμη η συνάρτηση sale() η οποία να υλοποιεί τη διαδικασία πώλησης ενός προϊόντος.
άρα εγώ καταλαβαίνω ότι αν ο πελάτης σε μια αγορά θέλει να αγοράσει ν προιόντα πρέπει να καλέσεις ν φορές την σειλ για κάθε προϊόν ξεχωριστά. Huh
« Last Edit: November 25, 2012, 21:20:53 pm by kofski17 » Logged

http://www.youtube.com/watch?v=gyEWkX3FNlY
Pages: 1 ... 4 5 [6] 7 8 Go Up Print
Jump to:  

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