情景:c++类,stack。
要求:类的构造函数带有初始化成员列表,定义与实现分离。
//stack.h
#include <vector>
using namespace std;
template<class T>
class Stack{
private:
int maxsize;
int top;
vector<T> vec;
public:
Stack(int ms);
Stack();
};
定义了基本的stack成员,两个构造函数。将会在stack.cpp中对stack的构造函数进行实现。
//stack.cpp
#include "stack.h"
template<class T>
Stack<T>::
Stack(int ms):maxsize(ms){
cout<<"get it"<<endl;
}
template<class T>
Stack<T>::
Stack():maxsize(0){
cout<<"still get it"<<endl;
}
对stack.h中定义的两个构造函数进行实现,均带有初始化成员列表。
//main.cpp
#include <iostream>
#include "stack.cpp"
using namespace std;
int main()
{
Stack<int> s(2);
Stack<int> s1;
return 0;
}
测试函数。
备注:
接着写stack吧。。