23062C++&QTday6

将之前定义的栈类和队列类都实现成模板类

栈:

#include 
#define MAX 128

using namespace std;


template
class Stack
{
private:
    T top;              //栈顶元素的下标
    C *data;           //指向堆区空间


public:
    Stack():top(-1),data(new C[MAX]) {}           //无参构造

    //析构函数
    ~Stack()
    {
        delete[] data;
        cout<<"析构函数"< n1;
    n1.Stack_push(1);
    n1.Stack_push(2);
    cout<<"栈的大小为"< n2;
    n2.Stack_push("hello");
    n2.Stack_push(" world");
    cout<<"栈的大小为"<

运行结果:

23062C++&QTday6_第1张图片

队列:

代码:

#include 
#define MAX 128

using namespace std;


template
class queue
{
private:
    int front;
    int tail;
    C data[MAX];


public:

    //构造函数
    queue():front(0),tail(0)
    {
        cout<<"构造函数"< n1;
    n1.queue_push(1);
    n1.queue_push(2);
    n1.queue_show();
    queue n2;
    n2.queue_push("hello");
    n2.queue_push(" world");
    n2.queue_show();
    return 0;
}

运行结果:

23062C++&QTday6_第2张图片 思维导图

23062C++&QTday6_第3张图片

你可能感兴趣的:(c++,开发语言)