您的位置:首页 > 其它

关于模板template的泛型参数的构造函数

2017-03-29 00:09 253 查看
#include <iostream>
#include <cstddef>
using namespace std;

class alloc
{
public:
alloc()
{
cout << "alloc()" << endl;
}
};

template <class T,class Alloc =alloc,size_t Bufsize = 512>

class deque
{
public:
deque()
{
cout << "deque" << endl;
}
};

template <class T,class Seq = deque<T> >
class stack
{
public:
stack()
{
cout << "stack" << endl;
}
};

int main()
{
stack<int> s;
return 0;
}
运行结果
stack


表明虽然stack类有deque泛型参数,但没有实例化对象

#include <iostream>
#include <cstddef>
using namespace std;

class alloc
{
public:
alloc()
{
cout << "alloc()" << endl;
}
};

template <class T,class Alloc =alloc,size_t Bufsize = 512>

class deque
{
public:
deque()
{
cout << "deque" << endl;
}
private:
Alloc a;
};

template <class T,class Seq = deque<T> >
class stack
{
public:
stack()
{
cout << "stack" << endl;
}
private:
Seq s;
};

int main()
{
stack<int> s;
return 0;
}
运行结果
alloc()
deque
stack
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: