2015-04-24 2 views
-2

Я пытаюсь выяснить классы шаблонов. Я объявил шаблонный шаблон, который является шаблоном. Но теперь я хочу передать этот символ в конструктор класса PrintChar. Я не хочу использовать шаблон. Но используйте конструктор. Как я могу это сделать? Я хочу изменить операцию. Я хочу сделать это обычным конструктором, а не с шаблоном. Моя структура ниже. Спасибо.C++ Использование шаблонов

template<char C> 
class PrintChar : public PrintIt { 
//something... 
}; 

main() 
PrintChar<'*'> pstuff_star(min,max); 
PrintChar<'~'> pstuff_tilde(min,max); 
+0

Вы пытаетесь сказать, что хотите написать 'PrintChar foo ('*')' и создать файл 'PrintChar <'*'>'? – NathanOliver

ответ

1

Возможно ...

class PrintChar : public PrintIt 
{ 
protected: 
    char _ch; //This is char passed to constructor 

public: 
    PrintChar(char ch, /* other parameters */) 
    : _ch(ch) 
    { 
    } 
}; 

int main() 
{ 
    PrintChar pstuff_star('*', min, max); 
    PrintChar pstuff_tilde('~', min, max); 

    //... 
} 

Не злоупотребляйте шаблоны. Если они вам не нужны, не используйте их.

Смежные вопросы