为了账号安全,请及时绑定邮箱和手机立即绑定

c++定义模板以后的运用问题,求老鸟指点

c++定义模板以后的运用问题,求老鸟指点

C++
xiele 2016-11-24 17:37:45
类定义如下template<class T> class Queue{ public: Queue(int c); private: T *p; int Capacity; };定义一个列队Capacity是列队的长度main里运用时纠结了Queue<int> *p=new Queue(4);Queue<int> *p=new Queue<int>(4);都报错视频里老师是把参数定义在<>里,用无参构造函数定义那有参构造函数应该怎么调用呢?求老鸟指点
查看完整描述

2 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

你第一种写法 Queue<int> *p=new Queue(4); 肯定不对。 因为Queue不是个class类型,而是class模板。模板使用时必须有确定的模板参数。


你第二种写法没错啊!  Queue<int> 这样就确定了模板参数T,Queue<int>就算是一个模板实例类,可以正常使用。 而且 new Queue<int>(4) 是在构造时调用了你的构造函数,也没有问题!(当然你要确定你实现了这个构造函数)。

查看完整回答
1 反对 回复 2016-11-25
?
慕容5123895

TA贡献4条经验 获得超1个赞

构造函数如何写的?

查看完整回答
反对 回复 2016-11-25
  • 2 回答
  • 0 关注
  • 1278 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信