![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Цель - написать класс-контейнер данных (прога - эмулятор микроконтроллера), который бы хранил байт, слово, двойное слово или бит по выбору, предоставлял удобный доступ к данным, но главное - давал возможность создать связку между 2-мя и более объектами такого класса. Идея: имеется объект, хранящий слово, и мы создаём второй объект, проецирующийся на младший байт первого объекта, третий объект - на старший бит второго объекта и т.п.
Оцените, плиз, и посоветуйте что бы здесь можно было сделать по-другому:
-------------------- ![]() |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Попутно вопрос: почему приходится переопределять оператор "=" в производных классах ? Если этого не делать, то компилятор ругается, что конструктор по умолчанию не определён. Например, этот код не компилится:
-------------------- ![]() |
|||
|
||||
| cardinal |
|
||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Ничего точного сказать не могу, но может мои догадки тебе помогут. 1. Догадка: Попробуй сначала только с одним классом наследовать:
Если прошло, то см. догадка 2. 2. Догадка:
CS68NamedObject не имеет оператора = и может поэтому он и не defined. Попробуй поменять public CS68DataCell и public CS68NamedObject местами. Это тупо, согласен, но кто знает у какого класса какой приоритет. 3. Догадка (самая тупая наверно): operator= не наследуется напрямую. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||
|
|||||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Первая догадка не подтвердилась
Видимо, операторы действительно не наследуются напрямую. -------------------- ![]() |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
З.Ы. "раскрашивалку" синтаксиса можно скачать тут:
http://forum.vingrad.ru/index.php?showtopi...ndpost&p=148310 -------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |