PDA

View Full Version : [C++] Aiuto x iniziare col c++ * Urgente:'(


dahagra
17-06-2008, 16:19
Mi scuso se poco fa ho postato senza leggere attentamente il regolamento..
..riformulo...

Ragazzi, mi potreste dare una mano o indirizzarmi, poi vado solo...altrimenti non ne vengo fuori...

Debbo realizzare un progetto in c++ che ho già sviluppato in java...qlcs tipo modellare Espressioni numeriche tramite oggetti...

Posto la classe astratta e la prima classe che la estende/implementa..
Uso Visual C++ 2008 Express

**********
Esp.cpp
____________
#include <string>
#include <sstream>

class Esp{

public:
virtual Esp semplifica()=0;
virtual Esp deriva()=0;
virtual Esp toString()=0;

int main() {
Esp e ;
e = new EspCost(5);
e.semplifica;
e.deriva;
e.toString;
}
}


*******
EspCost.cpp
____________

#include <string>
#include <sstream>
#include "EspCost.h"
#include <string>
#include <sstream>

EspCost(int valore){
this.valore = valore;
}

int getValore(){
return valore;
}

void setValore(int valore){
this.valore = valore;
}

Esp semplifica(){
return this;
}

Esp deriva(string s){
valore = 0;
}

string toString(){
ostringstream oss;
oss << valore;
string res = oss.str();
return res;
}

**********************
EspCost.h
___________________

using namespace std;

class EspCost : public Esp{
private:
int valore;
public:
EspCost(int valore);

int getValore();

void setValore(int valore);

Esp semplifica();

Esp deriva(string s);

string toString();

}
______________________


Il mio ringraziamento eterno a chi mi aiuta

tomminno
18-06-2008, 10:01
Intanto porta il main fuori dalla classe Esp.

Esp e ;
e = new EspCost(5);


Questo è sbagliato o scrivi


Esp e(5);


oppure


Esp * e;
e = new EspCost(5);


Se usi i puntatori devi usare l'operatore "->" altrimenti l'operatore "."
Inoltre this è un puntatore quindi

this->valore = valore;

e

Esp * semplifica(){
return this;
}


inoltre

Esp deriva(string s){
valore = 0;
}


Non ritorna niente.

Infine alla fine della dichiarazione delle classi ci vuole il ";"

banryu79
18-06-2008, 17:04
Se arrivi da Java come conoscenze ti consiglio di reperire della documentazione sui puntatori e le reference in C++ e di studiarli bene, sono concetti fondamentali per lavorare con questo linguaggio e ti conviene approfondirli da subito (che tanto se non lo fai ti fanno smadonnare lo stesso, quindi perchè perdere tempo e rimandare? :D )