Союзы могут использоваться как тип, как класс и структура (с некоторыми ограничениями). Он может иметь функции-члены. Его можно использовать как конструкцию ООП.Использование Союза в ООП
Как я понимаю, профсоюзы были только что импортировали и C++, чтобы поддерживать обратную совместимость с C.
Во всех этих лет программирования я никогда не использовал союз, как я хотел бы использовать класс или структуру как ООП конструкции.
Существует ли практическое использование Союза как конструкции ООП (а не только как тип данных), или это просто какая-то рудиментарная часть языка, которая никогда не бывает полезной?
EDIT:
Стандарт определенно позволяет профсоюзу действовать как ООП конструкции. Он допускает функции-члены в союзах. После компиляции кода и работает и совместим со стандартом:
union A
{
int a;
int k;
void doSomething(){}
};
int main()
{
A obj;
int i = obj.a;
obj.doSomething();
return 0;
}
Почему стандарт позволяет функции члена в союзе, если он не должен действовать как ООП конструкции?
Пожалуйста, ответьте на вопросы по конкретным аргументам и, пожалуйста, воздержитесь от ответа Я так не думаю, без веских аргументов Почему?
Что вы считаете объектно-ориентированной концепцией в своем примере кода? –
@stefanbachert: Пожалуйста, не беспокойтесь о том, что я воспринимаю * менее дружелюбный * или мою * социальную компетентность * и ограничиваю ваши комментарии и ответы только на вопрос Q. Я предполагаю, что ваш downvote проистекает из того факта, что ваш ответ не добавил ничего значимого, и я указал на это вместо того, чтобы опрокинуть его. * Мой плохой! * Что я считаю концепцией ООП? Союзы действительно обеспечивают * Инкапсуляцию * и * Абстракцию *. –
Повторяйте, чтобы быть недружелюбным. Однако, что ваш образец инкапсулирует и абстрактно? –