vi allego qua il mio frammento di codice (scusate i nomi, ma mi sono attenuto a quelli che mi forniva il libro)
#include <iostream>
using namespace std;
class veicolo
{
public:
bool stato_motore;
string nome_proprietario;
string colore;
veicolo (string _nome_proprietario, string _colore)
{
nome_proprietario=_nome_proprietario;
colore=_colore;
stato_motore=true;
}
void mostra_stato ()
{
cout << "Veicolo di: " << nome_proprietario << ", colore: " << colore << endl;
if (stato_motore==1)
{
cout << "Motore acceso" << endl;
}
else
{
cout << "Motore spento" << endl;
}
}
};
class veicolo_a_propulsione_umana: public veicolo
{
veicolo_a_propulsione_umana (string _nome_proprietario, string _colore):
veicolo (_nome_proprietario, _colore)
{
}
// esempio di funzione ereditata da veicolo (eredita mostra_stato)
};
class bicicletta: public veicolo_a_propulsione_umana
{
public:
int raggi;
bicicletta (string _nome_proprietario, string _colore, int _raggi):
veicolo_a_propulsione_umana(_nome_proprietario, _colore),
veicolo (_nome_proprietario, _colore)
{
raggi=_raggi;
}
void mostra_stato () // esempio di funzione ridefinita, si aggiungono i raggi
{
cout << "Veicolo di: " << nome_proprietario << ", colore: " << colore << ", raggi: " << raggi << endl;
if (stato_motore==true)
{
cout << "Motore acceso" << endl;
}
else
{
cout << "Motore spento" << endl;
}
}
};
class veicolo_a_motore: public veicolo
{
};
class abitazione
{
};
class caravan: public veicolo_a_motore, public abitazione
{
public:
int marcia;
caravan (string _nome_proprietario, string _colore, int _marcia):
veicolo (_nome_proprietario, _colore)
{
marcia=_marcia;
}
void cambia_marcia (int n) // esempio di funzione estesa, si aggiunge cambio_marcia
{
if (marcia+n>=0&& marcia+n<=6)
{
marcia+=n;
}
}
};
int main ()
{
}
queso codice produce come errore: [Error] type 'veicolo' is not a direct base of 'bicicletta'
non me lo riesco a spiegare perchè ho riportato passo passo cio che mi ha detto il libro
grazie a chiunque mi risponda
#include <iostream>
using namespace std;
class veicolo
{
public:
bool stato_motore;
string nome_proprietario;
string colore;
veicolo (string _nome_proprietario, string _colore)
{
nome_proprietario=_nome_proprietario;
colore=_colore;
stato_motore=true;
}
void mostra_stato ()
{
cout << "Veicolo di: " << nome_proprietario << ", colore: " << colore << endl;
if (stato_motore==1)
{
cout << "Motore acceso" << endl;
}
else
{
cout << "Motore spento" << endl;
}
}
};
class veicolo_a_propulsione_umana: public veicolo
{
veicolo_a_propulsione_umana (string _nome_proprietario, string _colore):
veicolo (_nome_proprietario, _colore)
{
}
// esempio di funzione ereditata da veicolo (eredita mostra_stato)
};
class bicicletta: public veicolo_a_propulsione_umana
{
public:
int raggi;
bicicletta (string _nome_proprietario, string _colore, int _raggi):
veicolo_a_propulsione_umana(_nome_proprietario, _colore),
veicolo (_nome_proprietario, _colore)
{
raggi=_raggi;
}
void mostra_stato () // esempio di funzione ridefinita, si aggiungono i raggi
{
cout << "Veicolo di: " << nome_proprietario << ", colore: " << colore << ", raggi: " << raggi << endl;
if (stato_motore==true)
{
cout << "Motore acceso" << endl;
}
else
{
cout << "Motore spento" << endl;
}
}
};
class veicolo_a_motore: public veicolo
{
};
class abitazione
{
};
class caravan: public veicolo_a_motore, public abitazione
{
public:
int marcia;
caravan (string _nome_proprietario, string _colore, int _marcia):
veicolo (_nome_proprietario, _colore)
{
marcia=_marcia;
}
void cambia_marcia (int n) // esempio di funzione estesa, si aggiunge cambio_marcia
{
if (marcia+n>=0&& marcia+n<=6)
{
marcia+=n;
}
}
};
int main ()
{
}
queso codice produce come errore: [Error] type 'veicolo' is not a direct base of 'bicicletta'
non me lo riesco a spiegare perchè ho riportato passo passo cio che mi ha detto il libro
grazie a chiunque mi risponda