|
Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη. Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Νέα!
572
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Άσκηση E - 2014/2015 - Προθεσμία 30/11/2014
|
on: November 30, 2014, 17:01:15 pm
|
Προφανώς! Γιατί το this αναφέρεται στο αντικείμενο το οποίο ορίζεται εκείνη τη στιγμή! Άρα αυτό που κάνεις είναι να βάλεις το ίδιο αντικείμενο 2 φορές σε 2 διαφορετικές θέσεις μνήμης. Η συνάρτηση αυτή εκτελείται μια φορά ανά αντικείμενο και το this προφανώς κάθε φορά κρατάει εκείνο το αντικείμενο.
Γενικά, εντάξει φαίνεται δύσκολο, αλλά εφόσον έχεις αρκετές απορίες, φρόντισε πρώτα να τελειώσεις την εργασία με τυφλοσούρτη και μετά να δεις τι κάνεις το κάθε κομμάτι της εργασίας (βάζει cout παντού για να δεις τι εκτελείται κάθε φορά).
Δεν κατάλαβα γιατί ακριβώς χρησιμοποιούμε τον this, P[0]= this και P[Np-1]=this ?? Ο this εκείνη την στιγμή τι έχει ? Την διεύθυνση του αντικειμένου product ? Εμείς όμως θέλουμε να έχουμε στον πίνακα διευθύνσεις των παραγόμενων τάξεων σωστά ? Άρα γιατί το κάνουμε αυτό ?
|
|
|
579
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
|
on: November 22, 2014, 18:19:18 pm
|
έχετε ιδεα πως θα υλοποιηθει η συναρτηση με επικαλυψη ! και ~.βαζω επιστρεφομενη τιμη vector και δε το δεχεται
Γιατί δεν το δέχεται ; Αν στον κώδικα σου έχεις γράψει πρώτα την class matrix ίσως να πρέπει να βάλεις στην αρχή αρχή του κώδικα την εντολή class vector ; για να ξέρει ο compiler όταν θα δει την δήλωση της επικάλυψης ! ότι υπάρχει ο επιστρεφόμενος τύπος vector ... Ρε παιδιά και μένα μου βγάζει λάθος. Έχω γράψει πρώτα την κλάση vector και την matrix απλά τη δήλωσα στην αρχή, αλλά στην επικάλυψη του = που βάω σαν όρισμα αντικείμενο τύπου matrix (vector vector::operator=(matrix mat) μου λέει: 'mat' has incomplete type. Τι σημαίνει αυτό? Είσαι σίγουρος/η, ότι δήλωσες: class vector; class matrix(){ . . . }; class vector(){ . . . . }; Έχω κάνει: clas matrix() ; class vector() {. . . . . . }; οι συναρτήσεις της vector . . . . . class matrix() { . . . . . }; οι συναρήσεις της matrix . . . . . Πρέπει να γράψω τις δηλώσεις και των δύο κλάσεων στην αρχή και μετά τους κώδικες των συναρτήσεών τους? Νομίζω ναι... Γράψε class matrix ; class vector {...}; class matrix {...}; και μετά τις συναρτήσεις
|
|
|
582
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Άσκηση C - 2014/2015 - Προθεσμία 16/11/2014
|
on: November 15, 2014, 19:07:27 pm
|
Τη συναρτηση float get_tres() πρεπει να την αφησουμε ετσι, η μπορουμε να βαλουμε καποια ορισματα για να δεχεται η συναρτηση? Γιατι αλλιως πως θα δεχεται τον πινακα με τις αντιστασεις και τον αριθμο τους ??
Η float get_tres() είναι μέλος της κλάσης αρά "βλέπει" κάθε private μέλος και μπορείς να αναφερθείς σε αυτά απευθείας και γιατι μου χτυπαει error το γαμιδι
ακυρο δεν ειχα βαλει το :: στη δηλωση της συναρτησης! θενξ τσακαλε Προσοχή στους χαρακτηρισμούς σου για τον φίλο compiler Compiler is your friend
|
|
|
584
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Άσκηση C - 2014/2015 - Προθεσμία 16/11/2014
|
on: November 14, 2014, 23:19:04 pm
|
Πόσες συναρτήσεις αρχικών συνθηκών πρέπει να κανουμε για την κλαση circuit; Ως εξής: -μια που να δεχεται m,n,k1,k2(m & n πλήθος αντιστάσεων k1 & k2 σπόροι) -μια που να δεχεται m,n ή ως εξής: -μια που να δεχεται m,n,k1,k2 -μια που να δεχεται m,n,k1 -μια που να δεχεται m,n,k2-μια που να δεχεται m,n ναι 4 φτιάξε όπου στην κάθε μια θα καλείς τους αντίστοιχους των cirquitP και circuitS.όρισε και μια flag=0 στην main να την βάλεις όρισμα στον 2ο(ή στον 3ο) η οποια δεν θα κανει τίποτα πέρα από το να ξεχωρίζει ποιον εννοείς να καλέσει Το παραπάνω έχει πρόβλημα, στη περίπτωση που θα στείλεις 3 τιμές ο compiler δε ξέρει ποιόν από τους δύο constructor να καλέσει (όπως είπε και ο Napoleon). Μπορείς (αντί για μια σημαία όπως προτείνεις) στον ένα από τους δύο constructor να στέλνεις το σπόρο ως float και μετά μέσα να κάνεις type casting σε int;; Νομίζω σε όλους τους constructors πρέπει να έχεις ως παράμετρο και την float τάση Vs που θα διεγείρει το σύνθετο κύκλωμα άρα για να ξεχωρίσεις τους constructors στον έναν βάζεις την float Vs ως πρώτο όρισμα και μετά στον άλλον ως δεύτερο όρισμα !
|
|
|
585
|
Μαθήματα Βασικού Κύκλου / Αντικειμενοστραφής Προγραμματισμός / Re: [C++] Άσκηση C - 2014/2015 - Προθεσμία 16/11/2014
|
on: November 14, 2014, 02:03:31 am
|
Μπορει καποιος να δωσει μια μικρη βοηθεια ως προς το ποιοες θα ειναι οι private μεταβλητες των κλασεων circuit S και CircuitP? Ο πινακας των αντιστασεων-ρευματων? Δηλαδή ενας pointer?
Και στις 2 κλάσεις έχω ως private 2 pointers ( πίνακας των αντιστάσεων και πίνακας των μεγίστων ρευμάτων) + το μέγεθος των πινάκων που είναι κοινό τον σπορο πως τον χρησιμοποιω ?? εγινε αναφορα σε ενα site πιο πανω αλλα δεν πολυκαταλαβα πως γινεται ....
srand(s); t=rand(); \\ η rand εξαρτάται μέχρι κάποιο βαθμό απο την srand(s) όπου s είναι ο σπόρος
|
|
|
|
|