Здравствуйте эксперты, подскажите есть ли функция для преобразования кода unsigned char в символьный вид и тоже самое для int (sizeof(int) = 2), в смысле библиотечные, свои я уже наваял. И еще одна проблема, которая поважнее будет: class A { public: void Add(const A *); protected: FILE *OpenFile(); uchar Value1; private: void GetFileName(char *Buf); }; void GetFileName(char *Buf) { код преобразует Value1 в строку и складывает результат в буфер }
class B:public A { public: void Add(const B *); private: int Value2; void GetFileName(char *Buf); } void GetFileName(char *Buf) { тоже самое, что и у класса A, только для int } void Add(const B *v) { A::Add(v); Value2 = v.Value2; ... } OpenFile() использует метод GetFileName чтобы выполнить свою
работу, OpenFile в свою очередь вызывается из метода A::Add. Проблема в том что в методе B::Add() приходится писать A::Add(v) иначе начинается рекурсия, причем OpenFile() вызывается унаследованный и GetFileName() соответсвенно тоже хотя он и стоит в private, можно как нибудь обойти эти грабли, чтобы OpenFile() вызывался унаследованный, а GetFileName() переопределенный. Компилятор bc300 (dos) Спасибо.
Добрый день, Serzhant! 1. если нужно преобразовать число в символьный вид, то можно использовать itoa, ltoa или utoa, а также printf. 2. сделайте GetFileName protected и напишите перед ним слово virtual. С уважением, Avl2k. Ответ отправлен: 28.12.2002, 10:56 Отправитель: Avl2k Отвечает Yuri Gordienko
Добрый день, Serzhant! Во-первых, это не грабли, а разумное поведение. Во-вторых, объявляй функции виртуальными. Ответ отправлен: 28.12.2002, 10:29 Отправитель: Yuri Gordienko Отвечает Ramzes
Приложение: Ответ отправлен: 28.12.2002, 10:35 Отправитель: Ramzes Отвечает Jadd
Добрый день, Serzhant! Есть такой механизм - полиморфизмом зовется. Слыхал о таком? Так вот можно его тут и применить. Ответ отправлен: 28.12.2002, 04:05 Отправитель: Jadd Отвечает Dzik
Доброе время суток, Serzhant! Про перевод из символов в цифры и обратно см. itoa,atoi,ltoa и т.д.
Ответ отправлен: 28.12.2002, 14:05 Отправитель: Dzik
Вопрос № 469
Доброго времени суток, Jadd Не могли бы вы мне скинуть электронную версию книги Джеффри Рихтера "Windows для профессионалов". Заранее спасибо.
Доброе время суток, Gibbel! Уфф...Могу на сегодняшний момент только на аглицком. Устроит? Нет проблем. Если надо на русском, то подождитедо середины неделии я скину. Ответ отправлен: 29.12.2002, 01:10 Отправитель: Jadd
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.