С++
Добавлено: 24 июл 2009, 12:45
Чем отличается reinterpret_cast <TYPE> (объект) от конструкции (TYPE) (объект)? Например:
unsigned short *m_BufferData;
...
long int * ptr1 = reinterpret_cast <long int *> ( m_BufferData ); //нет ошибки
long int * ptr2 = static_cast <long int *> ( m_BufferData ); //ошибка
long int * ptr3 = (long int *) ( m_BufferData ); //опять нет ошибки
И ещё вопрос:
Класс А агрегирует класс Б (в классе А есть член - указатель на объект класса Б).
В классе А есть член - указатель на функцию с определённым (неважно каким) прототипом.
В классе Б есть не статическая функция с таким же прототипом.
Как присвоить члену-указателю экземпляра класса А указатель на функцию экземпляра класса Б?
Или может перенести тему в раздел "программирование" ?
unsigned short *m_BufferData;
...
long int * ptr1 = reinterpret_cast <long int *> ( m_BufferData ); //нет ошибки
long int * ptr2 = static_cast <long int *> ( m_BufferData ); //ошибка
long int * ptr3 = (long int *) ( m_BufferData ); //опять нет ошибки
И ещё вопрос:
Класс А агрегирует класс Б (в классе А есть член - указатель на объект класса Б).
В классе А есть член - указатель на функцию с определённым (неважно каким) прототипом.
В классе Б есть не статическая функция с таким же прототипом.
Как присвоить члену-указателю экземпляра класса А указатель на функцию экземпляра класса Б?
Или может перенести тему в раздел "программирование" ?