Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,ξεκινώντας να εξοικιώνομαι με τη c++

Και λύνοντας μερικές ασκήσεις έχω την εξής απορία

μπορώ μέσα στο σώμα κάποιας member function μιας κλάσης

να καλώ μία άλλη Member function της ίδιας κλάσης την οποία έχω δηλώσει παραπάνω?

αν ναι με ποιον τροπο γίνεται

 

πχ

class Test

{

public :

int calc1(Test t);

int calc2(Test t1,Test t2);

 

}

 

 

int Test::calc1(Test t)

{

...

}

 

int Test::calc2(Test t1,Test t2)

{

 

return calc1(t1)+calc1(t2);

 

}

 

το error Που πέρνω είναι

 

"error: `calc1' undeclared (first use this function)"

Δημοσ.

Αποκλείεται, κάτι άλλο συμβαίνει. Καλύτερα να κάνεις copy-paste τον κώδικά σου για να δούμε τι συμβαίνει.

 

Και λέω αποκλείεται γιατί εφόσον η συνάρτηση calc1 είναι μέσα στην κλάση Test, και στην υλοποίησή της γράφεις σωστά την επικεφαλίδα int Test::calc1(Test t), τότε το calc2 και το Test::calc2 εκεί μέσα είναι ακριβώς το ίδιο πράγμα.

 

Εγώ δοκίμασα τον κώδικα που δίνεις και (προσθέτοντας ένα ; στο τέλος της κλάσης και βάζοντας ένα κενό main()) δεν υπήρξε κανένα πρόβλημα...

Δημοσ.

Αποκλείεται, κάτι άλλο συμβαίνει. Καλύτερα να κάνεις copy-paste τον κώδικά σου για να δούμε τι συμβαίνει.

 

Και λέω αποκλείεται γιατί εφόσον η συνάρτηση calc1 είναι μέσα στην κλάση Test, και στην υλοποίησή της γράφεις σωστά την επικεφαλίδα int Test::calc1(Test t), τότε το calc2 και το Test::calc2 εκεί μέσα είναι ακριβώς το ίδιο πράγμα.

 

Το πάτησα το +1 ήδη αλλά ήθελα να συμφωνήσω και εγγράφως.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...