Всем привет.
Начал разбираться с исходным кодом к книге "Графика трехмерной компьютерной игры на основе 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 Если что извините я далеко не специалист в программировании 