Buona Sera,
essendo alle prime armi con il C++, mi sto dilettando a svolgere questo esercizio:
"Implementare una classe 'Person' che preveda due campi 'nome' e 'eta', e una classe 'Car' che preveda i tre campi di seguito:
- il modello;
- un puntatore che fa riferimento al proprietario (un oggetto Person*);
- un puntatore che fa riferimento al conducente (anche in questo caso un oggetto Person*).
Scrivere, quindi, un programma che chieda all'utente di indicare le persone e le auto. Memorizzare i dati rispettivamente in un 'vector<Person*>' e in un 'vector<Car*>'. Scorrere il vettore di oggetti 'Person' e incrementare l'eta di ciascuno. Infine, scorrere il vettore delle auto e visualizzare il modello, il nome e l'eta del proprietario, il nome e l'eta del conducente'.
Ho provato a svolgere l-esercizio scrivendo i due file .h in questo modo;
//////////////////////////////////////////
Car.h
#include <string>
using namespace std;
class Car
{
public:
Car(string mod);
void set_proprietario(Person* p);
void set_conducente(Person* p);
private:
string modello;
Person* proprietario;
Person* conducente;
};
Car::Car(string mod)
{
modello = mod;
proprietario = NULL;
conducente = NULL;
}
void Car::set_proprietario(Person* p)
{
proprietario = p;
}
void Car::set_conducente(Person* p)
{
conducente = p;
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
////////////////////////////////////////
Person.h
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person();
Person(string nome, int eta);
void set_nome(string nome);
void set_eta(int eta);
string get_nome();
int get_eta();
private:
string Nome;
int Eta;
};
Person::Person()
{}
Person::Person(string nome, int eta)
{
Nome = nome;
Eta = eta;
}
void Person::set_nome(string nome)
{
Nome = nome;
}
void Person::set_eta(int eta)
{
Eta = eta;
}
string Person::get_nome()
{
return Nome;
}
int Person::get_eta()
{
return Eta;
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Ed ora non saprei come fare, nel main*(), a ottenere quanto chiesto.
Non chiedo la soluzione, ma solo un aiuto a o un suggerimento.
Grazie mille.

Rispondi quotando