编写一个栈的类模板(包括其成员函数定义),以便为任何类型的对象提供栈结构数据操作。并在应用程序中创建整数栈、字符栈和浮点数栈,提供一些数据进行进栈、退栈和打印操作的测试。