【发布时间】:2020-06-06 03:35:48
【问题描述】:
refrence:enter image description here/
[C++ 错误] homeworkUnit1.cpp(39): E2102 不能使用模板 'bag' 而不指定
专业化参数
积分代码:
https://drive.google.com/file/d/1wBe7IqHngArjK3WVSN3u-mboKhrMkIao/view?usp=sharing
(使用 Borland C++ Builder)
.h
template <class T>
class bag{
public:
bag(int);//
~bag();
String result();
T *data;
bool empty,full;
protected:
int size,position;
String ans;
};
template <class T>
class stack:public bag<T>{
public:
stack(int);
void push(int);
void pop();
};
template <class T>
class queue:public bag<T>{
public:
queue(int);
void enq(int);
void deq();
};
.cpp
stack<float> *s;
queue<float> *q;
template<class T>bag<T>::bag(int num){
empty,full=false;
size=num;
data=new T [size];
position=0;
}
template<class T>bag<T>::~bag(){
delete []data;
}
template<class T>String bag<T>::result(){
String ans="";
for(int i=0;i<=position-1;i++){
ans+= AnsiString(data[i]);
}
return ans;
}
**template<class T>stack<T>::stack(int num):bag( num){//how to fix this
}**
我需要添加什么或者我的代码是错误的
【问题讨论】:
-
尝试改用
bag<T>。 -
.@songyuanyao 你能告诉我更多细节,我需要改变的地方不好
对不起,我是初学者 -
template<class T>stack<T>::stack(int num):bag<T>( num){ -
谢谢我修好了!! :]
标签: c++ templates inheritance