C++:设计一个堆栈的类模板Stack,在模板中用类型参数T表示栈中存放的数据,用非类型参数MAX

C++:设计一个堆栈的类模板Stack,在模板中用类型参数T表示栈中存放的数据,用非类型参数MAXSIZE代表栈的大小。实现栈元素的入栈和出栈。在main函数中定义Sta... C++:设计一个堆栈的类模板Stack,在模板中用类型参数T表示栈中存放的数据,用非类型参数MAXSIZE代表栈的大小。实现栈元素的入栈和出栈。在main函数中定义Stack<int,5>和Stack<char,5>,测试该类模板。 展开
 我来答
匿名用户
2016-06-05
展开全部
1、任何容器都只能放相同的数据类型;2、如果数据类型不相同,只能想个法让这些数据类型由不同变得相同;3、一般的法就是继承,定义一个父类,其它数据类型继承这个父类。上代码:enumsubClassType{typeB,typeC,};classClassA{public:subClassTypetype;};classClassB:publicClassA{inta;public:ClassB(){ClassA::type=typeB;a=10;}intfunOut(){returna;}};classClassC:publicClassA{floata;public:ClassC(){ClassA::type=typeC;a=1.1;}floatfunOut(){returna;}};voidfun(){ClassB*b=newClassB();ClassC*c=newClassC();ClassA*array[]={b,c};//把子类的对象赋值给父类的指针,然后保存在数组里,栈也是一样的。for(inti=0;itype==typeB)//判断类型,然后转换成子类指针,就能调用子类的成员了。{printf("a=%d",((ClassB*)pA)->funOut());}elseif(pA->type==typeC){printf("a=%f",((ClassC*)pA)->funOut());}}}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式