// Classes: Car e Stand // Por: Paulo Cortez, Outubro de 2003 // DSI, Universidade do Minho #ifndef _stand_h_ #define _stand_h_ #include #include using namespace std; class Car // Represena um carro { // atributos privados string d_name; // marca do automóvel int d_price; // preço do automóvel public: // construtores Car(void); // construtor vazio Car(string const &name, int price); // cria um novo Car(Car const &C); // clone de outro carro // manipuladores void setName(string const &name); void setPrice(int price); // acessores string const &name(void) const; int price(void) const; // amigos friend ostream &operator<<(ostream &out,Car const &C); // enviar friend istream &operator>>(istream &in,Car &C); // receber }; class Stand // Representa um stand de vendas de carros { // atributos privados int d_size; // número de carros Car *d_cars;// array dinâmico com os carros void copy(Stand const &S); // copia o stand S public: // construtor Stand(int size); // aloca espaço para size carros Stand(Stand const &S); // faz um clone de um Stand // destrutor ~Stand(); // destroi o Stand // manipuladores Stand const &operator=(Stand const &S); // copia o stand S Car &operator[](int i); // altera o carro do indice i // acessores Car operator[](int i) const; // acede ao carro do indice i // amigos friend ostream &operator<<(ostream &out,Stand const &S); // enviar friend istream &operator>>(istream &in,Stand &S); // receber }; // fim da classe Stand #endif