Main Page
Modules
Namespaces
Classes
Files
File List
File Members
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 */
12
KillerWhaleFactory::initialize
();
13
PlatypusFactory::initialize
();
14
MyrmecophagidaeFactory::initialize
();
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 */
36
KillerWhaleFactory::finalize
();
37
PlatypusFactory::finalize
();
38
MyrmecophagidaeFactory::finalize
();
39
40
return
EXIT_SUCCESS;
41
}
MyrmecophagidaeFactory::initialize
static void initialize()
Definition:
AnimalsFactory.cpp:57
PlatypusFactory::initialize
static void initialize()
Definition:
AnimalsFactory.cpp:37
PlatypusFactory::finalize
static void finalize()
Definition:
AnimalsFactory.cpp:41
Animals.h
KillerWhaleFactory::finalize
static void finalize()
Definition:
AnimalsFactory.cpp:21
Animal
Definition:
Animals.h:6
Animal::printName
virtual void printName() const =0
AnimalsFactory.h
main
int main(int, char **)
Definition:
examples/factory/main.cpp:9
te::common::AbstractFactory< Animal, std::string >::make
static Animal * make(const std::string &factoryKey)
It creates an object with the appropriated factory.
KillerWhaleFactory::initialize
static void initialize()
Definition:
AnimalsFactory.cpp:17
MyrmecophagidaeFactory::finalize
static void finalize()
Definition:
AnimalsFactory.cpp:61
terralib5_src
examples
factory
main.cpp
Generated on Wed Jun 6 2018 12:16:10 for TerraLib by
1.8.11