Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
salve a tutti
sto tentando di scrivere il mio primo programma in c++. diciamo che la dose di insulti arrivati al mio povero PC è abbastanza elevata. devo ridefinire l'operatore + e = in modo che facciano rispettivamente una string cut e una string copy. al momento ho provato solo a creare una generica classe che ho chiamato brstringa e sto tentando di provarla ma al momento ho scritto 25 righe di codice neanche e sono due ore che cerco di compliare. il codice è questo
Codice sorgente - presumibilmente C++
#include <QtCore/QCoreApplication>
#include <iostream>
usingnamespace std;
class brstringa
{
public:
char*ptrstringa;
int brstinga(constchar*ptr)
{
ptrstringa=newchar(strlen(ptr)+1);
strcpy(ptrstringa,ptr);
return*ptrstringa;
}
};
int main(int argc, char*argv[])
{
QCoreApplication a(argc, argv);
brstringa frase;
char b,*ptr;
cout<<"inserisci stringa"<<endl;
cin>>b;
ptr=&b;
frase.brstringa(ptr);
return a.exec();
}
se mi potete aiutare per ridefinire gli operatori ve ne sarei molto grato!
grazie mille
Ultima modifica effettuata da el cuba libre il 24/05/2011 alle 17:17
1) il costruttore dovrebbe essere brstringa e non brstinga
2) il costruttore non dovrebbe ritornare alcun tipo
3) se vuoi passare un valore al costruttore lo fai in fase di dichiarazione:
mi dice che l'operatore = deve essere un membro di funzione non statico e non capisco cosa voglio dire, inoltre se passo due parametri alloperatore + mi da errore, mi dice che non ne posso passare più di uno, ma passandogliene uno mi dice che non può convertire brstringa a const char. inoltre ptr1 gli risulta non dichiarato nella ridefinizione dell'operatore +, ma per l'operatore = non mi da problemi.
mi potete aiutare?
grazie mille