examples/factory/main.cpp
Go to the documentation of this file.
1 // TerraLib Examples
2 #include "Animals.h"
3 #include "AnimalsFactory.h"
4 
5 // STL
6 #include <cstdlib>
7 #include <iostream>
8 
9 int main(int /*argc*/, char** /*argv*/)
10 {
11  /* first of all, let's initialize all factories */
15 
16  /* now we can use the factory support */
17  Animal* a1 = AnimalFactory::make("Killer");
18  Animal* a2 = AnimalFactory::make("Plat");
19  Animal* a3 = AnimalFactory::make("Killer");
20  Animal* a4 = AnimalFactory::make("Plat");
21  Animal* a5 = AnimalFactory::make("Myr");
22 
23  a1->printName();
24  a2->printName();
25  a3->printName();
26  a4->printName();
27  a5->printName();
28 
29  delete a1;
30  delete a2;
31  delete a3;
32  delete a4;
33  delete a5;
34 
35  /* at the end of program execution, let's finalize all factories */
39 
40  return EXIT_SUCCESS;
41 }
static void initialize()
static void finalize()
static void finalize()
Definition: Animals.h:6
virtual void printName() const =0
int main(int, char **)
static Animal * make(const std::string &factoryKey)
It creates an object with the appropriated factory.
static void initialize()