Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <fstream>
- template<typename T>
- class Printer
- {
- public:
- void Print(T value)
- {
- std::cout << value << std::endl;
- }
- };
- //специализация шаблона для типа string
- template<>
- class Printer<std::string>
- {
- public:
- //переопределение функции Print для типа string
- void Print(std::string value)
- {
- std::cout << "___" << value << "___" << std::endl;
- }
- };
- //теперь нельзя использовать тип double
- template<>
- class Printer<double>
- {
- };
- int main(int argc, char *argv[])
- {
- setlocale(LC_ALL, "Rus");
- srand(time(NULL));
- Printer<std::string> p;
- p.Print("Текст");
- Printer<int> p2;
- p2.Print(1);
- Printer<double> p3;
- //p3.Print(1.1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement