Model level creation operations
The next step in this tour is to create the model shown in Figure 3 below, by first creating the "My planner" package inside the root package, and then the "Task management" package inside the "My planner" package.

Figure 3. The model you should build
We are now going to continue by designating the main entities of our application (Project, Task, Human Resource and Person), and the relationships between these entities.
Let's create a class to represent, for instance, projects. For this, create the "Project" class in the "Task Management" package (Figure 4).

Figure 4. Creating the "Project" class in the "Task management" package
Steps:
1. Select the "Task management" package.
2.
Click on the
"Create a class" icon. The new class then automatically appears.
3. Press F2 to highlight the name of the class and enter "Project".
C++ does not provide automatic memory management and garbage collecting features, and its syntax does not permit the initialization of class members in declaration points. In most cases, you have to manually specify the creation and destruction semantics of your classes by writing constructors, destructors, and so on.
In order to avoid you forgetting creation operations for your objects, and to explicitly represent creation semantics at model level, Objecteering C++ Developer automatically constructs UML creation operations when a class is created in the model. Objecteering C++ Developer follows the best C++ practices and uses a design pattern to create the so-called "Coplien form":
· The default constructor
· The copy constructor
· The assignment operator
· The destructor

Figure 5. Automatically constructed creation operations
For each operation, Objecteering C++ Developer automatically creates C++ notes with "TODO" comments, suggesting that you provide their C++ implementation.
This model level pattern is dynamic, meaning that when you rename a UML class, its creation operations are renamed automatically (Figure 6).

Figure 6. The names of the creation operations are automatically modified when the class name is modified