Šablony tříd

{“https:\/\/www.jdoodle.com\/a\/am4?format=text”:”#include <iostream>\nusing namespace std;\n\nconst int MAX_POLOZEK = 10;\n\nclass ZasobnikJePlny {};\nclass ZasobnikJePrazdny {};\n\ntemplate<typename T>\nclass Zasobnik {\npublic:\n T polozky[MAX_POLOZEK];\n int vrchol;\n \n Zasobnik() {\n vrchol = 0;\n }\n \n void vloz(T hodnota) {\n if(jePlny()) \n throw new ZasobnikJePlny();\n polozky[vrchol++] = hodnota;\n }\n \n bool jePrazdny() {\n return vrchol == 0;\n }\n \n bool jePlny();\n T vyndej();\n};\n\ntemplate<typename T>\nbool Zasobnik<T>::jePlny() {\n return vrchol >= MAX_POLOZEK;\n}\n\ntemplate<typename T>\nT Zasobnik<T>::vyndej() {\n if(jePrazdny())\n throw new ZasobnikJePrazdny();\n return polozky[–vrchol];\n}\n\nint main() {\n int i = 0;\n Zasobnik<int> zasobnik;\n \n while(! zasobnik.jePlny())\n zasobnik.vloz(++i);\n \n while(! zasobnik.jePrazdny())\n cout << zasobnik.vyndej() << endl;\n \n return 0;\n}\n\n”}


Šablony tříd
Ohodnoťte tento článek