
Untitled
By: a guest on
Jul 4th, 2012 | syntax:
C++ | size: 1.60 KB | hits: 36 | expires: Never
#include <iostream>
#include <vector>
using namespace std;
class Game
{
public:
virtual void echo(void) = 0;
virtual void setCost(double) = 0;
virtual void setName(char * string) = 0;
protected:
double _cost;
char * _name;
};
class AOE : public Game
{
public:
AOE(void)
{
_name = "Age of Empires";
}
void echo(void);
void setCost(double);
void setName(char *);
};
void AOE::echo(void)
{
std::cout << "Game name: " << _name << std::endl;
std::cout << "Game cost: " << _cost << std::endl;
}
void AOE::setCost(double cost)
{ _cost = cost; }
void AOE::setName(char * name)
{ _name = name; }
class AOM : public Game
{
public:
AOM(void)
{
_name = "Age of Mythology";
}
void echo(void);
void setCost(double);
void setName(char *);
};
void AOM::echo(void)
{
std::cout << "Game name: " << _name << std::endl;
std::cout << "Game cost: " << _cost << std::endl;
}
void AOM::setCost(double cost)
{ _cost = cost; }
void AOM::setName(char * name)
{ _name = name; }
int main()
{
vector<Game *> EnsembleGames;
// separator
EnsembleGames.push_back(new AOM);
EnsembleGames[0]->setCost(14.99);
EnsembleGames[0]->echo();
// separator
EnsembleGames.push_back(new AOE);
EnsembleGames[1]->setCost(11.99);
EnsembleGames[1]->echo();
// separator
for (unsigned int i = 0; i < EnsembleGames.size(); i++)
{
delete[] EnsembleGames[i];
EnsembleGames[i] = NULL;
}
// separator
system("pause");
return(EXIT_SUCCESS);
}