Long Cat |
16.11.2011 02:24 |
Перед нами очередной пример отвратно оформленной программы, в которой перемешаны декларативная и имплементативная части. Класс писал очевидный индус. Или преподаватель-садист.
Код:
explicit vector(int initSize = 0):
это - прототип конструктора. int initSize = 0 - параметр - желаемый размер.
ДВОЕТОЧИЕ - отделяет прототип от списка начальной инициализации, вот он
Код:
theSize(initSize),
theCapacity(initSize)
При вызове конструктора в эти переменные будет записано значение initSize, зачем их две - разберемся позже.
Код:
bool empty( ) const // это функция ?
{ return size( ) == 0; }
Это функция вместе с телом.
Код:
Object & operator [] (int index) // а это что?
{
#ifndef NO_CHECK // директива проверки выхода из области вектора?
if( index < 0 || index >= size())
throw ArrayIndexOutOfBoundException();// trow - устанавливает тип выбрасываемых исключений?
#endif
return objects[index];
}
Этот кусок - программа, которая вызывается, когда к массиву обращаются так: mas[i]
|