Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2013 14:47:58

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

C-структура с методами

Shaman
то всего один
Почему?
virtual PStatus Supports( const ioctl::Usb& Device ) = 0; // раз, инициализирован нулем
virtual PStatus FindInterface( const ioctl::Usb& Device, icu::UnicodeString& InterfaceName ) = 0; // два
Две разных сигнатуры для двух членов структуры = два указателя.

Офлайн

#2 Авг. 10, 2013 15:23:03

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

C-структура с методами

s0rg
Две разных сигнатуры для двух членов структуры = два указателя.
Использован синтаксис объявления абстрактного метода, а не указателя на функцию. Там нет никакой инициализации нулём.
В c++ допустимо использовать “struct” при объявлении класса, с той разницей, что в этом случае члены класса будут иметь другую видимость по умолчанию. При таком стечении обстоятельств единственным указателем может быть указатель на структуру vmt, но это на усмотрение компилятора, т.к. создавать экземпляр абстрактного класса обычно запрещено.
Автор или плохо знает с++, или, извините, троллит.

Отредактировано Shaman (Авг. 10, 2013 15:25:43)

Офлайн

#3 Авг. 10, 2013 15:29:49

karkadil
Зарегистрирован: 2013-08-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

C-структура с методами

Shaman
Автор или плохо знает с++, или, извините, троллит.

Я вообще не знаю с++, я тестер, использую python для автоматизации. И вот сейчас задача создать для дальнейшего тестирования обертку на питоне.

Код на с++ взят из девелоперского проекта, но вот незадача оказалась с этими методами.

Насчет указателей - спасибо, буду в этом направлении копать.
И вообще спасибо всем откликнувшимся Очень тяжко без знания с++

Отредактировано karkadil (Авг. 10, 2013 15:30:10)

Офлайн

#4 Авг. 10, 2013 15:35:26

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

C-структура с методами

Shaman
Хмм, не знал - спасибо, у меня с C++ опыт не настолько обширный, а исходя из C я тут увидел структуру с двумя указателями на функции (иногда так на C эмулируют ООП).

Отредактировано s0rg (Авг. 10, 2013 15:36:05)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version