Всем привет.
Начал разбираться с исходным кодом к книге "Графика трехмерной компьютерной игры на основе OpenGL" и возник вопрос зачем объявлять виртуальные функции в потомках если они уже объявлены в базовом классе? (может я что то упустил)
Пожалуйста объясните какую полезную работу делает класс Set (папка Foundation).
Заметил несколько неточностей.
Файл Array.cpp
static int __cdecl compFunc ( const void * elem1, const void * elem2 ) { return (*theComparator)( (Object *)elem1, (Object *)elem2, theArg ); }
должно быть вроде так
static int __cdecl compFunc ( const void * elem1, const void * elem2 ) { return (*theComparator)( *(Object **)elem1, *(Object **)elem2, theArg ); }
Файл ObjStr.cpp
String :: String ( float value ) : Object ( "" ) { int dec; int sign; char * ptr = _ecvt( (double)value, 10, &dec, &sign ); maxLength = STR_BLOCK_SIZE*((strlen ( ptr ) + STR_BLOCK_SIZE)/STR_BLOCK_SIZE); contents = new char [maxLength]; length = strlen ( strcpy ( contents, ptr ) ); metaClass = &classInstance; }
Функция _ecvt возращает строку цифр без знака и разделителя (они указаны в переменных dec, sign).
PS Если что извините я далеко не специалист в программировании