PDA

Visualizza la versione completa : [C++]Interpretazione del Concetto di Allocazione Dinamica di una Stringa


nostradamus1915
12-01-2013, 21:56
Salve a tutti, tra non molto ho l'esame di programmazione 1 e avrei una grossa lacuna che spero possiate colmare.
Posto prima un pezzetto della traccia:


"Si realizzi in C++ la classe PacchettoRegalo che preveda le variabili membro:
- Destinatario, di tipo stringa (allocata dinamicamente)
- Peso (di tipo float, si consideri espresso in grammi)
- Forma, di tipo stringa (allocata dinamicamente)"

Non ho ben capito cosa intende per allocazione dinamica della stringa.
Io ho pensato a una cosa del genere:

const int DMAX=100;
typedef char buffer[DMAX];

int strlung(buffer);
void strinput(char *&);

int main(int argc, char *argv[])
{
char * stringa;

strinput(stringa);
cout << stringa << endl;
}

int strlung(buffer s){
int i=0;

while(s[i]!='\0')
i++;

return i;
}

void strinput(char *&s){
buffer strapp;

cin >> strapp;
s = new char[strlung(strapp)];
s=strapp;
}

Ovvero metto l'input in una stringa buffer di lunghezza fissa, calcolo la lunghezza effettiva dell'input e successivamente alloco in memoria lo spazio necessario a contenerla.
Ho fatto bene o esiste un modo pių semplice?
Inoltre mi considera il carattere ' ' (spazio) come '\0'
Spero possiate aiutarmi, grazie :)

MdE2005
13-01-2013, 12:29
Se non č stato specificato altro dall'autore del problema, ritengo che la tua interpretazione sia corretta e che la soluzione da te postata sia giusta.

Ciao :)

Loading