大挪耗

c++将模板类用作参数

#include “iostream”
using namespace std;

template<class T1,int len>
class Linklist//链表类模板
{
public:
T1 *m_head;//链表头结点。
int m_len=len;//表长。
void insert(){cout<<“向链表插入了一条记录。\n”;}
void ddelete(){cout<<“向链表中删除了一条记录。\n”;}
void update(){cout<<“向链表中更新了一条记录。\n”;}

};

template<class T1,int len>
class Array//数组类模板
{
public:
T1* m_data;//数组指针。
int m_len=len;//表长。
void insert(){cout<<“向数组中插入了一条记录。\n”;}
void ddelete(){cout<<“向链表中删除了一条记录。\n”;}
void update(){cout<<“向链表中更新了一条记录。\n”;}
};
//线性表模版类:tabletype—线性表类型,
template<template<class,int>class T1,class T2,int len>
class LinearList
{
public:
T1<T2,len> m_table;//创建线性表对象
void insert(){m_table.insert();}
void ddelete(){m_table.ddelete();}
void update(){m_table.update();}

void oper()
{
cout<<“len=”<<m_table.m_len<< endl;
m_table.insert();
m_table.update();

}
};

int main() {
//创建线性表对象,容器类型为链表,链表的数据类型为int,表长为20
LinearList<Linklist, int, 20> a;
a.insert();
a.ddelete();
a.update();

//创建线性表对象,容器类型为数组,数组的数据类型为string,表长为20
LinearList<Array, string, 20> b;
b.insert();
b.ddelete();
b.update();

}

输出:

向链表插入了一条记录。
向链表中删除了一条记录。
向链表中更新了一条记录。
向数组中插入了一条记录。
向链表中删除了一条记录。
向链表中更新了一条记录。


已发布

分类

可以收藏大挪耗一下。下载麻烦点城通网盘,站长保证下载速度,不会限速的,放心点就是了;分卷,安卓下载为txt:程序下载为url,不会下载参考不会下载。如果你想让本站活的久一点,请直接捐助

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注