Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > разные функции у template класса |
Автор: korian 30.3.2008, 16:54 |
template class A { public: void func(); void func1(); void func2(); }; A<int> i; A<double> d; можно ли переобпределить класс A так, чтобы у объекта i были только функции func() и func1(), и не было функции func2, и соответственно у объекта d были только функции func() и func2() и не было функции func1(). |
Автор: Daevaorn 30.3.2008, 19:42 |
Да. Читайте про специализацию шаблона. |
Автор: anatox91 30.3.2008, 20:45 |
перегрузи, т.е. напиши вариант с нужными тебе функциями |
Автор: korian 31.3.2008, 10:16 | ||
я понимаю, что написать можно так:
но можно ли написать так, чтобы 3 раза не объявлять/определять функцию func()? у меня таких функций будет куча, а дополнительных для конкретного типа всего одна. получается, если у меня в классе A должно быть 20 функций, то мне придется объявлять/определять еще 40 функций... хм... появилась идея с наследованием... а по другому никак? |
Автор: korian 31.3.2008, 11:22 |
vinter, под фразой "появилась идея с наследованием..." я где-то такое и имел ввиду. значит по другому никак? |
Автор: bsa 31.3.2008, 11:42 |
korian, а чем тебе наследование не нравится? |
Автор: korian 31.3.2008, 12:53 |
та я пока сам не знаю ![]() вообщем-то нравится... |