| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Зацените класс и посоветуйте... |
| Автор: mr.DUDA 23.4.2004, 23:04 | ||
| Цель - написать класс-контейнер данных (прога - эмулятор микроконтроллера), который бы хранил байт, слово, двойное слово или бит по выбору, предоставлял удобный доступ к данным, но главное - давал возможность создать связку между 2-мя и более объектами такого класса. Идея: имеется объект, хранящий слово, и мы создаём второй объект, проецирующийся на младший байт первого объекта, третий объект - на старший бит второго объекта и т.п. Оцените, плиз, и посоветуйте что бы здесь можно было сделать по-другому:
|
| Автор: mr.DUDA 24.4.2004, 10:53 | ||
Попутно вопрос: почему приходится переопределять оператор "=" в производных классах ? Если этого не делать, то компилятор ругается, что конструктор по умолчанию не определён. Например, этот код не компилится:
|
| Автор: cardinal 24.4.2004, 12:10 | ||||||
Ничего точного сказать не могу, но может мои догадки тебе помогут. 1. Догадка: Попробуй сначала только с одним классом наследовать:
Если прошло, то см. догадка 2. 2. Догадка:
CS68NamedObject не имеет оператора = и может поэтому он и не defined. Попробуй поменять public CS68DataCell и public CS68NamedObject местами. Это тупо, согласен, но кто знает у какого класса какой приоритет. 3. Догадка (самая тупая наверно): operator= не наследуется напрямую. |
| Автор: mr.DUDA 24.4.2004, 12:39 |
| Первая догадка не подтвердилась Видимо, операторы действительно не наследуются напрямую. |
| Автор: mr.DUDA 24.4.2004, 12:50 |
| З.Ы. "раскрашивалку" синтаксиса можно скачать тут: http://forum.vingrad.ru/index.php?showtopic=21653&view=findpost&p=148310 |