Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Overloading degli operatori

    Raga devo convertire un " const char* " in una carta!

    Praticamente sto creando un mazzo di carte di 4 colori diversi

    const char* GIALLO = "Giallo" ...

    Voglio creare il metodo "carta.set_color(GIALLO)"

    codice:
    char* Carta::ser_colore(const char* color)
    {
     return colore_ = color;
    }
    l'assegnazione nn va a buon fine, ovvio no!?!

    Come devo redifinire l'operatore?

    Se voglio fare il casting del "const char*" in char* posso usare "sprintf", cioè

    codice:
    char* Carta::operator=(const char *sorgente)
    { 
     char* temp;
     
     sprintf(temp, "%s", sorgente);
      
     return temp;
    }

    Che altra soluzione mi consigliate?
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Io nn ho mica capito che vuoi fare...

    Qualè lo scopo del metodo? Perche ritorni un char*? Poi la funzione con printf è sbagliata perke temp nn è allocato. Spiega meglio qual è il tuo scopo e qual è l'errore che ricevi.


    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Semplicemente voglio copiare il valore di una const char* in un char* semplice!!!
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    calcola la lunghezza len della stringa con strlen
    alloca un array di len + 1 caratteri
    copia la stringa nell'array con strcpy e ritorna l'array

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.