Union R
{
int x;
long y;
char c;
}
И таким образом вывод результата должен быть...
t.x =20
t.y =...
t.c =...
(С++ Builder 6) Нужна программа с Union
Вот мне дали лабораторную помогите её сделать пожайлуста:
Нужно сделать программу на С++ Builder 6
Задание такое: Необходимо разработать обьединение Union и применить его в программе.Таким образом объединение должно включась в себя(3 элемента)
Ну например:
Код:
Помогите пожайлуста:( :( :(
P.s//С уважением Анна
СМОТРИ.В 2 словах обьединения - это особый вид класса,экономящего память. Данные-члены хранятся,перекрывая друг друга и размещаются начиная с одного и того же адреса.Для обьединения выделяется столько памяти, сколько необходимо для хранения самого большого его члена. В каждый момент времени можно присвоить значение лишь одному члену обьединения.Каждое новое значение "затирает" старое, даже если это значение другого элемента. По умолчанию все члены обьединения открыты.У обьединения не бывает статических членов,членов-ссылок,членов-обьектов другого класса,имеющего конструктор, деструктор и операртор присваивания.Например.
А что в учебниках нет ?:) А на сайте ?.
Код:
#include <iostream>
using namespace std;
union R{
int x;
long y;
char c;
};
int main()
{
R t;
t.x = 5;
cout<<t.x<<endl;
t.y = 1256;
cout<<t.y<<endl;
// неоднозначность в данный момент времени
// существует только t.y
cout<<t.x<<endl;
t.c = 'f';
cout<<t.c<<endl;
return 0;
}
using namespace std;
union R{
int x;
long y;
char c;
};
int main()
{
R t;
t.x = 5;
cout<<t.x<<endl;
t.y = 1256;
cout<<t.y<<endl;
// неоднозначность в данный момент времени
// существует только t.y
cout<<t.x<<endl;
t.c = 'f';
cout<<t.c<<endl;
return 0;
}
Вы действительно мне очень помогли :)
P.s\С уважением Анна
[COLOR=red]Аня, получаете нарушение. Если модератор убрал ваши сообщения - не надо создавать новые. У вас есть возможность выразить вашу благодарность через личные сообщения.[/COLOR]