🌈个人主页:羽晨同学
💫个人格言:“成为自己未来的主人~”
类模板的定义格式:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
template<class T>
class Stack
{
public:Stack(size_t capacity = 4){_array = (T*)malloc(sizeof(T) * capacity);if (_array == nullptr){perror("malloc fail");return;}_capacity = capacity;_size = 0;}void Push(const T& data);
private:T* _array;size_t _capacity;size_t _size;
};
在这个当中,我们需要注意的是,声明和定义不能分开放在.h和.cpp中,这样的话会出现链接错误。
但是我们可以都放在.h中
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
template<class T>
class Stack
{
public:Stack(size_t capacity = 4){_array = (T*)malloc(sizeof(T) * capacity);if (_array == nullptr){perror("malloc fail");return;}_capacity = capacity;_size = 0;}void Push(const T& data);
private:T* _array;size_t _capacity;size_t _size;
};template<typename T>
void Stack<T>::Push(const T& data)
{_array[_size] = data;++_size;
}
int main()
{Stack<int> st1;Stack<double> st2;return 0;
}