本篇文章給大家分享的是有關(guān)如何深入剖析C++類模板應(yīng)用代碼,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、澤普ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的澤普網(wǎng)站制作公司
C++中有類繼承的概念,意思就是能夠?qū)崿F(xiàn)與繼承相同功能的一種應(yīng)用。
C++類模板代碼示例:
#include "stdafx.h"
#include "Stack.h"
#include < iostream>
#include < string>
#include < cstdlib>
#include < stdexcept>
int _tmain(int argc, _TCHAR* argv[])
{
try
{
Stack< int> intStack;
Stack< std::string> stringStack;
intStack.push(7);
std::cout< < "intStack.top() = >"< < intStack.top()
< < std::endl;stringStack.push("Hello!");
std::cout< < "stringStack.top() = >"< < stringStack.top()
< < std::endl;stringStack.pop();
stringStack.pop();
}
catch(std::exception const& ex)
{
std::cerr< < "Exception: "< < ex.what()< < std::endl;
return EXIT_FAILURE;
}
return 0;
}
C++字符串分割函數(shù)具體使用方法總結(jié)
C++模板限制實(shí)際應(yīng)用方式探討
C++反射機(jī)制具體實(shí)現(xiàn)方法詳解
C++獲取當(dāng)前路徑實(shí)現(xiàn)技巧分享
C++數(shù)組參數(shù)應(yīng)用方式探討
在這段C++類模板的代碼中,語句[Stack< int> intStack;]展示了類模板的實(shí)例化,并定義一個(gè)變量的過程。和函數(shù)模板的實(shí)例化一樣,類模板的實(shí)例化也必須提供所需參數(shù)的類型。實(shí)例化后定義的變量可以和普通變量一樣的調(diào)用類模板定義的成員函數(shù)。只是需要注意,對(duì)于類模板的成員函數(shù),只有在被調(diào)用的時(shí)候才會(huì)被實(shí)例化。對(duì)于上面的intStack,由于只調(diào)用了push()成員函數(shù),所以它只實(shí)例化了push成員函數(shù)(構(gòu)造和析夠函數(shù)除外,他們會(huì)被默認(rèn)的調(diào)用)。
這樣作有兩個(gè)好處:
一是可以節(jié)約空間和時(shí)間。
二是,對(duì)于每一個(gè)類模板的參數(shù)類型,都要求提供模板所需要的操作。比如,如果你用自定義的類MyClass作為一個(gè)類模板Caculator< T>的參數(shù)。由于Caculator類模板要求提供的參數(shù)類型支持“+”和"-"操作。但是,你的MyClass類只需要用到“+”操作,沒有提供"-"操作。得益于上面的規(guī)則,你的MyClass類型還是可以作為Caulator< T>的參數(shù)。前提是你沒有用到"-"相關(guān)的成員函數(shù)。
以上就是如何深入剖析C++類模板應(yīng)用代碼,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。