Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- template<typename T, typename S>
- struct Citizen
- {
- Citizen(T k, S l) : k_{k}, l_{l} {}
- T k_;
- S l_;
- };
- template<typename T>
- using Adult = Citizen<T, int>;
- template<typename T>
- using Teenager = Citizen<T, double>;
- template<typename T>
- using Sheriff = Citizen<T, char>;
- template<typename T>
- struct Citizen<T, char>
- {
- Citizen(T k, char l) : k_{k}, l_{l} {
- std::cout
- << "### O szeryf, szeryf, ty trzymaj sie\n"
- << "### Tak bardzo dobrze nie jest, ale nie jest zle\n";
- }
- T k_;
- char l_;
- };
- int main()
- {
- Adult<std::string> a("adult", 10);
- Teenager<double> b(3.14, 2.72);
- Sheriff<double> c(3.14, 'a');
- std::cout << a.k_ << " " << a.l_ << "\n";
- std::cout << b.k_ << " " << b.l_ << "\n";
- std::cout << c.k_ << " " << c.l_ << "\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement