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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

[Μεταφορά και Διανομή ΗΕ]...
by Nikos_313
[Today at 00:10:29]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
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 _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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426704
Total Topics: 31710
Online Today: 215
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 18
Guests: 161
Total: 179
kchristoua
marwt
simos
mavropan
Yamal
abunchofcells
mitsos753905
Apaugasma
ANDVRONTZOS
aplos paratiritis
andreassifo
tank
Akis Papanikolaou
Theosarm
CasualUndergrad
george pap
aafroditi
Εμφάνιση

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

Νέα!
Για οποιοδήποτε πρόβλημα με register/login, στείλτε email στο contact@thmmy.gr.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014  (Read 4218 times)
vasilis94
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1511



View Profile
[C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« on: November 17, 2014, 10:52:10 am »

Άσκηση D

         Για την επίλυση ενός συστήματος γραμμικών εξισώσεων a*x=b, όπου a τετραγωνικός πίνακας, x το διάνυσμα των αγνώστων και  b το διάνυσμα των σταθερών όρων,  μπορεί να εφαρμοστεί ένας επαναληπτικός αλγόριθμος ο οποίος υλοποιείται από τη σχέση  xi+1=(b-a*xi+d*xi)/d , όπου d το διάνυσμα που έχει ως συνιστώσες τα διαγώνια στοιχεία του πίνακα a. Η εφαρμογή του αλγορίθμου δημιουργεί μια ακολουθία διανυσμάτων xν η οποία τείνει στη λύση του συστήματος. Η σύγκληση του αλγορίθμου δεν είναι εξασφαλισμένη σε κάθε περίπτωση. Ικανή συνθήκη για τη σύγκληση είναι ο πίνακας των συντελεστών να είναι διαγωνίως υπερτερών. Αυτό σημαίνει ότι για κάθε διαγώνιο στοιχείο του πίνακα πρέπει να ισχύει η σχέση 
│ai,i│>∑│ai,j│j=1,…,n, j≠i (σχέση 1) ή η σχέση │ai,i│>∑│ai,j│ i=1,…n, i≠j(σχέση 2).

        Για να ελεγχθεί αν ένας τετραγωνικός πίνακας είναι διαγωνίως υπερτερών να γραφεί το λογισμικό στο οποίο να ορίζονται
1) Η κλάση matrix η οποία ως private στοιχεία να ορίζει έναν pointer σε pointer σε στοιχεία τύπου float και την ακέραια μεταβλητή n. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να χρησιμοποιείται, ως όρισμα, σε μία συνάρτηση αρχικών συνθηκών, η τιμή της n, να χρησιμοποιείται ο pointer για να δεσμευτεί δυναμικά μνήμη για έναν τετραγωνικό πίνακα τύπου nxn  και να διαβάζονται τα στοιχεία του πίνακα.
2) Η κλάση vector η οποία ως private στοιχεία να ορίζει έναν pointer για στοιχεία τύπου float και την ακέραια μεταβλητή n. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να χρησιμοποιείται, ως όρισμα σε μία συνάρτηση αρχικών συνθηκών, η τιμή της n και να χρησιμοποιείται ο pointer για να δεσμευτεί δυναμικά μνήμη για έναν πίνακα με n στοιχεία
Η κλάση matrix να διαθέτει ακόμη
α) Μία επικάλυψη του τελεστή [ ] τέτοια ώστε η έκφραση a[i ][j], όπου a αντικείμενο στον τύπο της κλάσης, να επιστρέφει το στοιχείο βρίσκεται στην i γραμμή και στην j στήλη του πίνακα που όρισε το αντικείμενο.
β) Μία επικάλυψη του τελεστή ! τέτοια ώστε η έκφραση !a, όπου a αντικείμενο στον τύπο της κλάσης να επιστρέφει ένα αντικείμενο τύπου vector για το οποίο στην i θέση του πίνακα να έχει καταχωρηθεί το άθροισμα των απολύτων τιμών των στοιχείων της i γραμμής του πίνακα που όρισε το αντικείμενο a τα οποία δεν βρίσκονται στην διαγώνιο.
γ) Μία επικάλυψη του τελεστή ~ τέτοια ώστε η έκφραση ~a όπου a αντικείμενο στον τύπο της κλάσης να επιστρέφει ένα αντικείμενο τύπου vector για το οποίο στην j θέση του πίνακα να έχει καταχωρηθεί το άθροισμα των απολύτων τιμών των στοιχείων της j στήλης του πίνακα που όρισε το αντικείμενο a τα οποία δεν βρίσκονται στην διαγώνιο.
Η κλάση vector να διαθέτει ακόμη
α) Μία επικάλυψη του τελεστή > τέτοια ώστε η έκφραση v>w, όπου v και w αντικείμενα στον τύπο της κλάσης,  να επιστρέφει μια μη μηδενική τιμή αν κάθε στοιχείο του πίνακα που όρισε το αντικείμενο v είναι μεγαλύτερο από τo αντίστοιχο στοιχείο του πίνακα που όρισε το αντικείμενο w.
 β) Μία επικάλυψη του τελεστή = τέτοια ώστε η έκφραση v = a όπου v αντικείμενο στον τύπο της κλάσης και a αντικείμενο τύπου matrix να καταχωρεί ως στοιχεία για τον πίνακα που όρισε το αντικείμενο v τις απόλυτες τιμές των διαγώνιων στοιχείων του πίνακα που ορίζει το αντικείμενο a.
γ) Μία επικάλυψη του τελεστή - τέτοια ώστε η έκφραση v-w, όπου v και w αντικείμενα στον τύπο της κλάσης,  να επιστρέφει ένα αντικείμενο τύπου vector για το οποίο ο πίνακας που ορίζει να έχει ως στοιχεία τις διαφορές των αντίστοιχων στοιχείων των πινάκων που ορίζουν τα αντικείμενα v και w.
δ) Μία επικάλυψη του τελεστή ++ τέτοια ώστε η έκφραση ++v, όπου v αντικείμενο στον τύπο της κλάσης, να επιστρέφει το άθροισμα των στοιχείων του πίνακα που ορίζει το αντικείμενο v.

          Η συνάρτηση main του προγράμματος να ορίζει ένα αντικείμενο a στον τύπο matrix και χρησιμοποιώντας της επικαλύψεις που ορίστηκαν στις κλάσεις matrix και vector να ελέγχει αν ο πίνακας που όρισε το αντικείμενο a είναι διαγωνίως υπερτερών. Το πρόγραμμα, για αυτόν το σκοπό, να ελέγχει αν για το αντικείμενο a ισχύει για όλες τις γραμμές του πίνακα η σχέση 1 ή αν ισχύει για όλες τις στήλες του πίνακα η σχέση 2. Αν ο πίνακας διαπιστωθεί ότι είναι διαγωνίως υπερτερών να τυπώνονται οι διαφορές των απολύτων τιμών των διαγώνιων στοιχείων του πίνακα από τα αντίστοιχα αθροίσματα των απολύτων τιμών των υπολοίπων στοιχείων των γραμμών ή των στηλών του πίνακα. Τέλος να εκτυπώνεται το άθροισμα αυτών των διαφορών.
Logged
Vlassis
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 2162


εφακ


View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #1 on: November 19, 2014, 21:42:32 pm »

Quote from: konstaim on November 19, 2014, 21:02:14 pm
Στην πρώτη επικάλυψη του πίνακα matrix,ζητάει κάτι τέτοιο;


float matrix::operator[](matrix a,int i,int j){
   float num;
   num=a[j];
   return num;
}

και γω εκει εχω κολλησει  Huh
 το a ειναι τυπου matrix, γινεται να το αντιστοιχεις με το num που ειναι float ?
ως friend δηλωνεις την πρωτη επικαλυψη, ετσι?
« Last Edit: November 19, 2014, 21:45:03 pm by kosmas » Logged

πρόπελ
Is any of it real? I mean, look at this. Look at it! A world built on fantasy! Synthetic emotions in the form of pills, psychological warfare in the form of advertising, mind-altering chemicals in the form of food, brainwashing seminars in the form of media, controlled isolated bubbles in the form of social networks. mr.robot s01e10
K
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2392



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #2 on: November 19, 2014, 23:57:43 pm »

Quote from: kosmas on November 19, 2014, 21:42:32 pm
Quote from: konstaim on November 19, 2014, 21:02:14 pm
Στην πρώτη επικάλυψη του πίνακα matrix,ζητάει κάτι τέτοιο;


float matrix::operator[](matrix a,int i,int j){
   float num;
   num=a[j];
   return num;
}

και γω εκει εχω κολλησει  Huh
 το a ειναι τυπου matrix, γινεται να το αντιστοιχεις με το num που ειναι float ?
ως friend δηλωνεις την πρωτη επικαλυψη, ετσι?

Γιατί friend ρε συ?
Logged

https://www.youtube.com/watch?v=yVfR_fhZK58#t=2m41
tsarachaf
Αρχάριος/Αρχάρια

Posts: 4


View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #3 on: November 20, 2014, 05:05:43 am »

Quote from: kosmas on November 19, 2014, 21:42:32 pm
Quote from: konstaim on November 19, 2014, 21:02:14 pm
Στην πρώτη επικάλυψη του πίνακα matrix,ζητάει κάτι τέτοιο;


float matrix::operator[](matrix a,int i,int j){
   float num;
   num=a[j];
   return num;
}

και γω εκει εχω κολλησει  Huh
 το a ειναι τυπου matrix, γινεται να το αντιστοιχεις με το num που ειναι float ?
ως friend δηλωνεις την πρωτη επικαλυψη, ετσι?

Δεν μπορείς να το κάνεις να επιστρέφει κατευθείαν το (i,j) στοιχείο, γιατί χρειάζεσαι 3 ορίσματα και ο τελεστής παίρνει μόνο δύο. Επίσης δεν χρειάζεται να βάλεις σαν όρισμα το αντικείμενο, γιατί σαν συναρτησή μέλους(που δεν μπορεί να μην είναι) έχει πρόσβαση στο αντικείμενο (αλλά μετράει σαν όρισμα του τελεστή).
Μπορείς να το κάνεις να επιστρέφει αναφορά (float &operator[]), νομίζω ότι αυτό αρκεί. Τουλάχιστον εγώ αυτό έκανα.
Logged
Napoleon
Θαμώνας
****
Gender: Male
Posts: 369



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #4 on: November 20, 2014, 12:20:15 pm »

επειδή ο a είναι pointer σε pointer σημαίνει ότι είναι μονοδιάστατος πίνακας με  i στοιχεία,όπου κάθε στοιχείο είναι μονοδιάστατος πίνακας με j στοιχεία.Άρα μπορείς να το κάνεις έτσι:
Code:
float *matrix::operator[](int k)
{ return a[k];}


που σημαίνει ότι όταν θα γράψεις a [ i ]  [ j ],θα τρέξει η συνάρτηση για το [ i ] στον πίνακα a,θα επιστρέψει τον πίνακα στη θέση i και για αυτόν τον πίνακα θα τρέξει το  [j] και θα επιστρέψει το στοιχείο στη θέση j
Logged
K
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2392



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #5 on: November 20, 2014, 15:37:49 pm »

Quote from: Napoleon on November 20, 2014, 12:20:15 pm
επειδή ο a είναι pointer σε pointer σημαίνει ότι είναι μονοδιάστατος πίνακας με  i στοιχεία,όπου κάθε στοιχείο είναι μονοδιάστατος πίνακας με j στοιχεία.Άρα μπορείς να το κάνεις έτσι:
Code:
float *matrix::operator[](int k)
{ return a[k];}


που σημαίνει ότι όταν θα γράψεις a [ i ]  [ j ],θα τρέξει η συνάρτηση για το [ i ] στον πίνακα a,θα επιστρέψει τον πίνακα στη θέση i και για αυτόν τον πίνακα θα τρέξει το  [j] και θα επιστρέψει το στοιχείο στη θέση j
μήπως εννοείς αυτό?
float* matrix::operator[](int k)
{ return a[k];}
Logged

https://www.youtube.com/watch?v=yVfR_fhZK58#t=2m41
Napoleon
Θαμώνας
****
Gender: Male
Posts: 369



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #6 on: November 20, 2014, 16:49:35 pm »

Quote from: konstaim on November 20, 2014, 15:37:49 pm
Quote from: Napoleon on November 20, 2014, 12:20:15 pm
επειδή ο a είναι pointer σε pointer σημαίνει ότι είναι μονοδιάστατος πίνακας με  i στοιχεία,όπου κάθε στοιχείο είναι μονοδιάστατος πίνακας με j στοιχεία.Άρα μπορείς να το κάνεις έτσι:
Code:
float *matrix::operator[](int k)
{ return a[k];}


που σημαίνει ότι όταν θα γράψεις a [ i ]  [ j ],θα τρέξει η συνάρτηση για το [ i ] στον πίνακα a,θα επιστρέψει τον πίνακα στη θέση i και για αυτόν τον πίνακα θα τρέξει το  [j] και θα επιστρέψει το στοιχείο στη θέση j
μήπως εννοείς αυτό?
float* matrix::operator[](int k)
{ return a[k];}

εννοείς το αστεράκι αν είναι στη λέξη float ή στη λέξη matrix?Αν ναι,δεν έχει σχέση
Logged
kdespoik
Νεούλης/Νεούλα
*
Posts: 20


View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #7 on: November 21, 2014, 14:17:40 pm »

έχετε ιδεα πως θα υλοποιηθει η συναρτηση με επικαλυψη ! και ~.βαζω επιστρεφομενη τιμη vector και δε το δεχεται
Logged
ablaoublas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 619


Are you feeling lucky ?


View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #8 on: November 21, 2014, 15:58:14 pm »

Quote from: kdespoik on November 21, 2014, 14:17:40 pm
έχετε ιδεα πως θα υλοποιηθει η συναρτηση με επικαλυψη ! και ~.βαζω επιστρεφομενη τιμη vector και δε το δεχεται

Γιατί δεν το δέχεται ; Αν στον κώδικα σου έχεις γράψει πρώτα την class matrix ίσως να πρέπει να βάλεις στην αρχή αρχή του κώδικα την εντολή class vector ; για να ξέρει ο compiler όταν θα δει την δήλωση της επικάλυψης ! ότι υπάρχει ο επιστρεφόμενος τύπος vector ...
Logged

https://www.youtube.com/watch?v=WEivBoS_bnI
Vlassis
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 2162


εφακ


View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #9 on: November 21, 2014, 17:26:51 pm »

Quote from: konstaim on November 19, 2014, 23:57:43 pm
Quote from: kosmas on November 19, 2014, 21:42:32 pm
Quote from: konstaim on November 19, 2014, 21:02:14 pm
Στην πρώτη επικάλυψη του πίνακα matrix,ζητάει κάτι τέτοιο;


float matrix::operator[](matrix a,int i,int j){
   float num;
   num=a[j];
   return num;
}

και γω εκει εχω κολλησει  Huh
 το a ειναι τυπου matrix, γινεται να το αντιστοιχεις με το num που ειναι float ?
ως friend δηλωνεις την πρωτη επικαλυψη, ετσι?

Γιατί friend ρε συ?
Ναι βλακεια ειχα πει, δεν χρειαζεται friend  Wink
μπορει καποιος να εξηγησει γιατι η επικαλυψη [] επιστρεφει float* ?  Huh
Logged

πρόπελ
Is any of it real? I mean, look at this. Look at it! A world built on fantasy! Synthetic emotions in the form of pills, psychological warfare in the form of advertising, mind-altering chemicals in the form of food, brainwashing seminars in the form of media, controlled isolated bubbles in the form of social networks. mr.robot s01e10
K
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2392



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #10 on: November 21, 2014, 21:35:20 pm »

Quote from: kosmas on November 21, 2014, 17:26:51 pm
Quote from: konstaim on November 19, 2014, 23:57:43 pm
Quote from: kosmas on November 19, 2014, 21:42:32 pm
Quote from: konstaim on November 19, 2014, 21:02:14 pm
Στην πρώτη επικάλυψη του πίνακα matrix,ζητάει κάτι τέτοιο;


float matrix::operator[](matrix a,int i,int j){
   float num;
   num=a[j];
   return num;
}

και γω εκει εχω κολλησει  Huh
 το a ειναι τυπου matrix, γινεται να το αντιστοιχεις με το num που ειναι float ?
ως friend δηλωνεις την πρωτη επικαλυψη, ετσι?

Γιατί friend ρε συ?
Ναι βλακεια ειχα πει, δεν χρειαζεται friend  Wink
μπορει καποιος να εξηγησει γιατι η επικαλυψη [] επιστρεφει float* ?  Huh

5 ευρουλάκια Κοσμά μου
Logged

https://www.youtube.com/watch?v=yVfR_fhZK58#t=2m41
TheHound
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 86



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #11 on: November 21, 2014, 22:18:32 pm »

απ' ότι βλέπω άλλαξε ελαφρώς η εκφώνηση... Επίσης για κάποιο λόγο διαφορετική είναι η εκφώνηση που έχει στην ενότητα εργασίες και διαφορετική αυτή που είναι στο υλικό μαθήματος. Τι παίζει?
Logged
Fedra
Καταξιωμένος/Καταξιωμένη
***
Posts: 126



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #12 on: November 22, 2014, 00:03:42 am »

Quote from: ablaoublas on November 21, 2014, 15:58:14 pm
Quote from: kdespoik on November 21, 2014, 14:17:40 pm
έχετε ιδεα πως θα υλοποιηθει η συναρτηση με επικαλυψη ! και ~.βαζω επιστρεφομενη τιμη vector και δε το δεχεται

Γιατί δεν το δέχεται ; Αν στον κώδικα σου έχεις γράψει πρώτα την class matrix ίσως να πρέπει να βάλεις στην αρχή αρχή του κώδικα την εντολή class vector ; για να ξέρει ο compiler όταν θα δει την δήλωση της επικάλυψης ! ότι υπάρχει ο επιστρεφόμενος τύπος vector ...

Ρε παιδιά και μένα μου βγάζει λάθος. Έχω γράψει πρώτα την κλάση vector και την matrix απλά τη δήλωσα στην αρχή, αλλά στην επικάλυψη του = που βάω σαν όρισμα αντικείμενο τύπου matrix (vector vector::operator=(matrix mat)  μου λέει:
'mat' has incomplete type.

Τι σημαίνει αυτό?  Undecided
Logged
K
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2392



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #13 on: November 22, 2014, 13:39:20 pm »

Quote from: Fedra on November 22, 2014, 00:03:42 am
Quote from: ablaoublas on November 21, 2014, 15:58:14 pm
Quote from: kdespoik on November 21, 2014, 14:17:40 pm
έχετε ιδεα πως θα υλοποιηθει η συναρτηση με επικαλυψη ! και ~.βαζω επιστρεφομενη τιμη vector και δε το δεχεται

Γιατί δεν το δέχεται ; Αν στον κώδικα σου έχεις γράψει πρώτα την class matrix ίσως να πρέπει να βάλεις στην αρχή αρχή του κώδικα την εντολή class vector ; για να ξέρει ο compiler όταν θα δει την δήλωση της επικάλυψης ! ότι υπάρχει ο επιστρεφόμενος τύπος vector ...

Ρε παιδιά και μένα μου βγάζει λάθος. Έχω γράψει πρώτα την κλάση vector και την matrix απλά τη δήλωσα στην αρχή, αλλά στην επικάλυψη του = που βάω σαν όρισμα αντικείμενο τύπου matrix (vector vector::operator=(matrix mat)  μου λέει:
'mat' has incomplete type.

Τι σημαίνει αυτό?  Undecided


Είσαι σίγουρος/η, ότι δήλωσες:
class vector;
class matrix(){
.
.
.
};
class vector(){
.
.
.
.
};
Logged

https://www.youtube.com/watch?v=yVfR_fhZK58#t=2m41
Napoleon
Θαμώνας
****
Gender: Male
Posts: 369



View Profile
Re: [C++] Άσκηση D - 2014/2015 - Προθεσμία 23/11/2014
« Reply #14 on: November 22, 2014, 15:21:32 pm »

Quote from: Fedra on November 22, 2014, 00:03:42 am
Ρε παιδιά και μένα μου βγάζει λάθος. Έχω γράψει πρώτα την κλάση vector και την matrix απλά τη δήλωσα στην αρχή, αλλά στην επικάλυψη του = που βάω σαν όρισμα αντικείμενο τύπου matrix (vector vector::operator=(matrix mat)  μου λέει:
'mat' has incomplete type.

Τι σημαίνει αυτό?  Undecided


μήπως έχεις γράψει την συνάρτηση πριν τον constructor της matrix?
Logged
Pages: [1] 2 Go Up Print
Jump to:  

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