泛型程式設計簡介

2022-06-21 06:12:21 字數 1235 閱讀 8914

資料結構課程的特點

-專注於資料元素之間的關係

-專注於特定結構之上的演算法

資料結構課程並不關注資料元素的具體型別。

泛型程式設計的概念

-不考慮具體資料型別的程式設計方式

對於swap函式可以考慮下面的泛型寫法

void swap(t& a, t&b)

swap泛型寫法中的t不是乙個具體的資料型別,而是泛指任意的資料型別

c++中的函式模板

-一種特殊的函式可用於不同型別進行呼叫

-看起來和普通函式很相似,區別是型別可被引數化

templatevoid swap(t& a, t&b)

函式模板的語法規則

-template關鍵字用於宣告開始進行泛型程式設計

-typename關鍵字用於宣告泛指型別

函式模板的使用

-自動型別推導呼叫

-具體型別顯示呼叫

int a = 0

;int b = 1

;swap(a,b)

//自動推導

float c = 2

;float d = 3

;swap

(c,d) //

顯示呼叫

#include using

namespace

std;

template

void swap(t& a, t&b)

intmain()

c++中的類模板

-以相同的方式處理不同的型別

-在類宣告前使用template進行標識

-用於說明類中使用的泛指型別t

template class

operator

;

類模板的應用

-只能顯示指定具體型別,無法自動推導

-使用具體型別定義物件

operatorop1;

operator

op2;

int i = op1.op(1, 2

);double d = op2.op(0.01, 0.02);

小結:模板是泛型程式設計理論在c++中的實現

函式模板支援引數的自動推導和顯示指定

類模板在使用時只能顯示指定型別

類模板非常適用於編寫資料結構相關的**

泛型程式設計簡介

1 資料結構課程的特點 專注於資料元素之間的關係 專注於特定結構之上的演算法 資料結構課程並不關注資料元素的具體型別 如何為資料結構的學習選擇合適的語言?唐老師經驗 支援泛型程式設計的語言是最適合資料結構課程的學習。2 泛型程式設計的概念 不考慮具體資料型別的程式設計方式。c 中的函式模板 1 一種...

8 泛型程式設計簡介

目錄 1.資料結構的特點 2.泛型程式設計的概念 3.c 中的函式模板 4.函式模板的語法規則 5.函式模板的使用 6.c 中的類模板 7.類模板的應用 8.小結 問題 如何為資料結構的學習選擇合適的語言?經驗分享 支援泛型程式設計的語言最適合資料結構可能得學習?不考慮具體資料型別的程式設計方式 對...

泛型程式設計的簡介

泛型程式設計是一種新的程式設計思想,基於模板技術有效的將演算法和資料結構分離。泛型程式設計是指編寫完全一般化並惡意重複使用的演算法。就是指具有在多種資料型別上皆可操作,在c 上就是使用模板實現。例如 我們要實現各個資料型別的最大值。需要寫如下的函式過載。int max int a,int b flo...