Здесь у Вас есть 2 различных отношения, один для владения и один для членства.
отношение владения является простым многим (один владелец для каждого проекта). Отношение членства - многие многим (многие Редакторы проектом, многими проектами редактора).
Вы могли обеспечить свойство Owner на классе Проекта и предоставить метод на ProjectRepository для получения всех проектов, принадлежавших определенному Редактору.
Для многих отношения, обеспечьте членское свойство на классе Проекта и метод на ProjectRepository для получения всех проектов, содержащих указанного Редактора как участник.
также кажется, что Редакторы и Проекты являются объектами, я, вероятно, разделил бы агрегат, но возможно те условия имеют определенное значение в Вашем контексте, которые делают это подобъектами агрегата.
Bjarne's C ++ 0x FAQ говорит:
__ cplusplus
В C ++ 0x макросу
__ cplusplus
будет присвоено другое значение от (больше) текущего199711L
.
Для C ++ 03 согласно 16.8 / 1 (предопределенные имена макросов):
Имя
__ cplusplus
определяется значением 199711L при компиляции единицы трансляции C ++. .
Для черновика N2857 C ++ 0x согласно 16.8 / 1 (предопределенные имена макросов):
Имя
__ cplusplus
определяется значением [tbd] при компиляции единицы трансляции C ++.
1229]