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

HELP C++


kfoynt

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

Δημοσ.

Χρειάζομαι λίγη βοήθεια πάνω στην c++, το πρόβλημα μου ειναι το εξής :

 

Έχω ορίσει ένα enum μέσα στο Problem.h :

 

enum Type_of_move { ONE_PER_ONE_M = 1, ONE_PER_ONE = 2, ZERO_PER_ONE_M =

3, ZERO_PER_ONE = 4, TWO_OPT = 5, TWO_OPT_M = 6 };

 

μία private μεταβλητή μέσα στο Problem.h : enum Type_of_move type_of_move;

 

και 2 συναρτήσεις στο Problem.cpp ( οι ορισμοί τους ειναι στο Problem.h )

που χειρίζονται αυτην την μεταβλητη, τις κλασσικές set - get :

 

void Problem::set_Type_of_move( istream & type_of_move, ostream & output )

{

output << " Choose the Type of the Neighborhood \n "

<< " Type \' 1 \' for ONE_PER_ONE_M \n"

<< " Type \' 2 \' for ONE_PER_ONE \n"

<< " Type \' 3 \' for ZERO_PER_ONE_M \n"

<< " Type \' 4 \' for ZERO_PER_ONE \n"

<< " Type \' 5 \' for TWO_OPT \n"

<< " Type \' 6 \' for TWO_OPT_M \n";

 

type_of_move >> this -> type_of_move; // ΕΔΩ ΜΟΥ ΒΓΑΖΕΙ ΕΝΑ ΕΡΡΟΡ

 

}

Problem::Type_of_move Problem::get_Type_of_move( void ) { return this ->

type_of_move; }

 

το ΕΡΡΟΡ ειναι : no match for " operator >> " in " type_of_move >> ((

Problem* )this) -> Problem::type_of_move "

 

Aυτό που ήθελα να πετύχω ειναι να βάζει ο χρήστης έναν αριθμό τον οποίο θα

χειρίζομαι μέσω των set και get,

Πχ problem.set_Type_of_move( cin, cout );

 

 

Ευχαριστώ

Δημοσ.

πρεπει να φτιαξεις μια εξειδικευμενη βερσιον του operator >>

επειδη εχω σπασει τον καρπο μου και γραφω με το αριστερο μονο, δε μπορω δυστυχως να στο εξηγησω καλα

αλλα αν διαβασεις εδω νομιζω θα το πιασεις το νημα και θα το φτιαξεις

 

καλη συνεχεια :)

Δημοσ.
πρεπει να φτιαξεις μια εξειδικευμενη βερσιον του operator >>

επειδη εχω σπασει τον καρπο μου και γραφω με το αριστερο μονο, δε μπορω δυστυχως να στο εξηγησω καλα

αλλα αν διαβασεις εδω νομιζω θα το πιασεις το νημα και θα το φτιαξεις

 

καλη συνεχεια :)

 

 

OK!!! σε ευχαριστώ πάρα πολύ.. έψαχνα ώρες στο google και δν μπορούσα να βρώ κάτι αντίστοιχο..!

Δημοσ.

χμμμ δεν ειμαι σιγουρη αν καταλαβα σωστα την ερωτηση σου. να δωσει ο χρηστης μια τιμη και να μπει αυτη στην μεταβλητη που θες. εγω θα το εκανα καπως ετσι

int newvalue // στην main αυτα σε οποια αλλη συναρτηση χρειαζεται

cin>>newvalue>>endl;

probleme.set(newvalue)// int & newvalue

 

file.cpp

void set(int & newvalue)// δεν θυμαμαι ακριβως την συνταξη του ονοματος μιας συναρτησης μεσα σε class

{

kryfhmetavlhth=newvalue;

}

 

αν εγραψα πατατες σορρυ

Δημοσ.
type_of_move >> this -> type_of_move; // ΕΔΩ ΜΟΥ ΒΓΑΖΕΙ ΕΝΑ ΕΡΡΟΡ

 

απο το cin μπορούν να διαβαστούν τα γνωστά αντικείμενα (int,char,...). Δεν υπάρχει μετατροπη για το enum σου

 

βάλε

>
int x;
type_of_move >> x;//x ξερει να διαβασει η C++ std lib
if(x >= ONE_PER_ONE_M && χ<=TWO_OPT_M )
         this->type_of_move = (enum Type_of_move)x;
 else {
        //σφάλμα εισαγωγής, ενημερωσε χρήστη και κανε ενεργεια αποκαταστασης
 }

Δημοσ.

evabb : μια χαρα τα έγραψες! απλά ψάχνω για άλλη υλοποίηση.:-)

 

bxenos : Τλκ το έλυσα το πρόβλημα κάνοντας overload τον operator >> thanx!!

Αρχειοθετημένο

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

  • Δημιουργία νέου...