栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 模板函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 模板函数

目录结构
  • 一,实验内容
    • 1. 模板函数(compare)
    • 2. 模板类Queue或Stack
    • 3. 模板类AutoPtr
  • 二,实验过程
    • 1.普通函数模板
    • 2.特化模板函数
    • 3.成员模板函数
    • 4. 模板类特化

一,实验内容 1. 模板函数(compare)

函数模板:是一种抽象函数定义,它代表一类同构函数

  • 一般模板函数

  • 特化模板函数

2. 模板类Queue或Stack

类模板:是一种更高层次的抽象的类定义。当函数模板需要对某些类型进行特化处理,称为函数模板的特化。当类模板内需要对某些类型进行特别处理时,使用类模板的特化。

  • 模板类(Queue,Stack)
  • 成员模板函数
  • 模板特化:模板函数特化、模板成员函数特化、模板类特化
3. 模板类AutoPtr
  • 构造函数
  • 析构函数
  • 拷贝构造函数
  • 等号、->、*等运算符重载
  • 主函数调用AutoPtr
二,实验过程 1.普通函数模板
template
int compare(const T& left, const T& right) {
    if (right < left) {
        return 1; 
    }
     if (left < right) {
        return -1; 
    }
    return 0;
}

compare(1, 2); //使用模板函数

2.特化模板函数
template<>
void func(int i) {
    cout << "In special version for int "<< i << endl; 
}

int i = 10;
func(i); 

3.成员模板函数
  • 普通类和类模板的成员函数都可以是一个函数模板,
class Printer {
public:
    template
    void print(const T& t) {
        cout << t < 
4. 模板类特化 

类模板的特化:与函数模板类似,当类模板内需要对某些类型进行特别处理时,使用类模板的特化。例如:

这里归纳了针对一个模板参数的类模板特化的几种类型

一是特化为绝对类型;

二是特化为引用,指针类型;

三是特化为另外一个类模板。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511718.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号