Здравствуйте, Максим2006, Вы писали:
М>Здравствуйте, bookevg, Вы писали:
B>>есть некий макрос, который описывает вышеприведенный класс, за исключением того, что:
B>>имена Status, Ready, Reg м.б. заданы любые, т.о. данный макрос можно использовать при создании класса у которого взамен имен Status, Ready будет Pusk, Stop и тогда не требуется переписывать класс при изменении имен параметров Status, Ready, хотя тип остается такой же
М>Так что ли?
М>М>#define CLASS_TEMPLATE(name, var1, var2) struct name { int var1; int var2; };
М>
Что-то в этом роде.
М>Подозреваю, что Вы собираетесь либо описать одну и ту же сущность разными типами, либо разные сущности — одним. И то и другое — ошибка дизайна, которая впоследствии может вылезти боком.
Сущность носит названия регистр-сигналов. В зависимости от предназначения его битовые поля могут называться по разному, но методы работы с полями одни и те же. В идеале можно было бы использовать структуры битовых полей (ЧТО СЕЙЧАС И ЕСТЬ), но необходиом осущесвить ряд действий при изменении битового поля — например, зафиксировать факт изменения поля — на этом основан принцип организации событийности системе управления