ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
25599 Топик полностью
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; //работа с внешним ОЗУ ... Реализацию мне лень писать, извини :))