---------
// P78.cpp
class Object
{
};
class DB_Operation
: public Object // must have a base class
{
};
template <class Owner, class Element>
class DB_Set
{
static DB_Operation& get_cardinality_selection()
{
static DB_Operation x;
return x;
}
public:
static DB_Operation& _cardinality_selection;
};
template <class Owner, class Element>
DB_Operation& DB_Set<Owner, Element>::_cardinality_selection =
DB_Set<Owner, Element>::get_cardinality_selection();
class PP_Container_Class_Property
{
};
class PP_Component
{
};
class PP_Class
{
public:
DB_Set<PP_Class, PP_Container_Class_Property> _employments;
DB_Set<PP_Class, PP_Component> _components;
};
int main()
{
PP_Class u1;
return &u1._employments._cardinality_selection
== &u1._components._cardinality_selection;
}