Ecole (08.04.2005 14:47, просмотров: 1) ответил Сергей Борщ на Кто здесь в С++ профессионал? Можно ли сделать такое?
На С++ можно почти все >TStruct List1;
>TStruct List2;
>И чтобы теперь a = List2.Field1 приводило к чтению из внешней >памяти, а b = List1.Field1 к чтению из набортного ОЗУ. А List2 = >List1 приводило к копированию из набортного во внешнее.
Если у List1 и List2 один и тот же тип (т.е. TStruct), то не получится (по крайней мере в голову ничего не приходит).
Нужно сделать по-другому:
1) Создать базовый класс для обращения к памяти (внешней или внутренней), назовем его CBase;
2) Создать класс для обращения к внешней памяти, назовем его CExt.
Класс CExt наследуется от CBase;
2) Создать класс для обращения к внутренней памяти, назовем его CInt. CInt наследуется от CBase;
3) Перегрузить operator = в классах CExt, CInt.
Как это будет использоваться:
CInt ListInt; //работа с внвнутренним ОЗУ
CExt ListExt; //работа с внешним ОЗУ
...
Реализацию мне лень писать, извини :))