亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++中模板(Template)詳解及其作用介紹

 更新時間:2021年09月07日 11:08:42   作者:我是小白呀  
這篇文章主要介紹了C++中模板(Template)的詳解及其作用介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

概述

模板可以幫助我們提高代碼的可用性, 可以幫助我們減少開發(fā)的代碼量和工作量.

在這里插入圖片描述

函數(shù)模板

函數(shù)模板 (Function Template) 是一個對函數(shù)功能框架的描述. 在具體執(zhí)行時, 我們可以根據(jù)傳遞的實際參數(shù)決定其功能. 例如:

int max(int a, int b, int c){
    a = a > b ? a:b;
    a = a > c ? a:c;

    return a;
}

long max(long a, long b, long c){
    a = a > b ? a:b;
    a = a > c ? a:c;

    return a;
}

double max(double a, double b, double c){
    a = a > b ? a:b;
    a = a > c ? a:c;

    return a;
}

寫成函數(shù)模板的形式:

template<typename T>
T max(T a, T b, T c){
    a = a > b ? a:b;
    a = a > c ? a:c;

    return a;
}

類模板

類模板 (Class Template) 是創(chuàng)建泛型類或函數(shù)的藍圖或公式.

#ifndef PROJECT2_COMPARE_H
#define PROJECT2_COMPARE_H

template <class numtype>  // 虛擬類型名為numtype
class Compare {
private:
    numtype x, y;
public:
    Compare(numtype a, numtype b){x=a; y=b;}
    numtype max() {return (x>y)?x:y;};
    numtype min() {return (x < y)?x:y;};
};

mian:

int main() {

    Compare<int> compare1(3,7);
    cout << compare1.max() << ", " << compare1.min() << endl;

    Compare<double> compare2(2.88, 1.88);
    cout << compare2.max() << ", " << compare2.min() << endl;

    Compare<char> compare3('a', 'A');
    cout << compare3.max() << ", " << compare3.min() << endl;

    return 0;

}

輸出結果:

7, 3
2.88, 1.88
a, A

模板類外定義成員函數(shù)

如果我們需要在模板類外定義成員函數(shù), 我們需要在每個函數(shù)都使用類模板. 格式:

template<class 虛擬類型參數(shù)>
函數(shù)類型 類模板名<虛擬類型參數(shù)>::成員函數(shù)名(函數(shù)形參表列) {}

類模板:

#ifndef PROJECT2_COMPARE_H
#define PROJECT2_COMPARE_H

template <class numtype>  // 虛擬類型名為numtype
class Compare {
private:
    numtype x, y;
public:
    Compare(numtype a, numtype b);
    numtype max();
    numtype min();
};

template<class numtype>
Compare<numtype>::Compare(numtype a,numtype b) {
    x=a;
    y=b;
}

template<class numtype>
numtype Compare<numtype>::max( ) {
    return (x>y)?x:y;
}

template<class numtype>
numtype Compare<numtype>::min( ) {
    return (x>y)?x:y;
}

#endif //PROJECT2_COMPARE_H

類庫模板

類庫模板 (Standard Template Library). 例如:

#include <vector>
#include <iostream>
using namespace std;


int main() {
    int i = 0;
    vector<int> v;
    for (int i = 0; i < 10; ++i) {
        v.push_back(i);  // 把元素一個一個存入到vector中
    }

    for (int j = 0; j < v.size(); ++j) {
        cout << v[j] << " ";  // 把每個元素顯示出來
    }

    return 0;
}

輸出結果:

0 1 2 3 4 5 6 7 8 9

抽象和實例

在這里插入圖片描述

到此這篇關于C++中模板(Template)詳解及其作用介紹的文章就介紹到這了,更多相關C++模板內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++ 風靡一時的連連看游戲的實現(xiàn)流程詳解

    C++ 風靡一時的連連看游戲的實現(xiàn)流程詳解

    游戲“連連看”是源自臺灣的桌面小游戲,自從流入大陸以來風靡一時,也吸引眾多程序員開發(fā)出多種版本的“連連看”。這其中,顧芳編寫的“阿達連連看”以其精良的制作廣受好評,這也成為顧方“阿達系列軟件”的核心產(chǎn)品。并于2004年,取得國家版權局的計算機軟件登記證書
    2021-11-11
  • C++學習之移動語義與智能指針詳解

    C++學習之移動語義與智能指針詳解

    智能指針和移動語義是迄今為止,最難理解的兩個概念,下面這篇文章主要給大家介紹了關于C++學習之移動語義與智能指針的相關資料,需要的朋友可以參考下
    2021-05-05
  • C++實現(xiàn)十六進制字符串轉換成int整形值的示例

    C++實現(xiàn)十六進制字符串轉換成int整形值的示例

    今天小編就為大家分享一篇關于C++實現(xiàn)十六進制字符串轉換成int整形值的示例,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C語言數(shù)據(jù)結構超詳細講解單向鏈表

    C語言數(shù)據(jù)結構超詳細講解單向鏈表

    鏈表可以說是一種最為基礎的數(shù)據(jù)結構了,而單向鏈表更是基礎中的基礎。鏈表是由一組元素以特定的順序組合或鏈接在一起的,不同元素之間在邏輯上相鄰,但是在物理上并不一定相鄰。在維護一組數(shù)據(jù)集合時,就可以使用鏈表,這一點和數(shù)組很相似
    2022-03-03
  • C++中繼承與多態(tài)的基礎虛函數(shù)類詳解

    C++中繼承與多態(tài)的基礎虛函數(shù)類詳解

    這篇文章主要給大家介紹了關于C++中繼承與多態(tài)的基礎虛函數(shù)類的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • C語言中進程信號集的相關操作函數(shù)詳解

    C語言中進程信號集的相關操作函數(shù)詳解

    這篇文章主要介紹了C語言中進程信號集的相關操作函數(shù)詳解,包括sigismember函數(shù)和sigfillset函數(shù)以及sigemptyset函數(shù)的用法,需要的朋友可以參考下
    2015-09-09
  • 解析C語言中空指針、空指針常量、NULL & 0的詳解

    解析C語言中空指針、空指針常量、NULL & 0的詳解

    本篇文章是對C語言中空指針、空指針常量、NULL & 0 進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C/C++解析文件名和目錄路徑的方法

    C/C++解析文件名和目錄路徑的方法

    #include <libgen.h> 是一個 C/C++ 語言的頭文件,主要用于字符串處理,特別是在處理文件路徑時,它提供了一些函數(shù)來幫助你解析文件名和目錄路徑,本文就給大家介紹一下C/C++解析文件名和目錄路徑的方法,需要的朋友可以參考下
    2024-10-10
  • C++簡明分析講解布爾類型及引用

    C++簡明分析講解布爾類型及引用

    布爾型(Boolean),是一種類型變量類型,引用(reference)就是C++對C語言的重要擴充。引用就是某一變量(目標)的一個別名,對引用的操作與對變量直接操作完全一樣
    2022-04-04
  • C++利用遞歸實現(xiàn)走迷宮

    C++利用遞歸實現(xiàn)走迷宮

    這篇文章主要為大家詳細介紹了C++利用遞歸實現(xiàn)走迷宮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評論