Vse prosto - get_corners() - shablon. Dlya vseh klassov krome Square budet ispol'sovat'sya obchaya deklaraciya. Dlya Square - specializaciya. +
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено andy_P 29 ноября 2006 г. 17:51
В ответ на: Спасибо, но я, признаться, не понял одного (+) отправлено <font color=gray>homekvn</font> 29 ноября 2006 г. 17:28

Po voprosu:

Opredelyaete basovy class

class Base{
protected:
static const int my_class_id = 1;
}

i dva shablona
//1
template(.typename T.) bool is_my_class(...) {return false;} -
//eto budet instanciirovat'sya dlya vseh tipov

//2
template(.typename T.) bool is_my_class(typename T::my_class_id const* ) {return true;}

//i dlya vseh "svoih" classov derived from Base

Dlya "svoih" classov budet instanciirovat'sya vtoroy shablon. Eto rabotaet princip SFINAE.

A voobsche posmotite knizhku - tam pro eto est'. Ona na halyavu v seti vilozhena. Tam bolee elegantnyi podhod (ideya ta zhe)


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 63:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание