C++中有類繼承的概念,意思就是能夠實現與繼承相同功能的一種應用。那麼什麼又是C++類模板呢?它是否也和類函數的用法相似呢?首先讓我們通過以下這段代碼來為大家詳細介紹一下C++類模板的應用方式。
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;
- }
這樣作有兩個好處:
一是可以節約空間和時間。
二是,對於每一個類模板的參數類型,都要求提供模板所需要的操作。比如,如果你用自定義的類MyClass作為一個類模板Caculator< T>的參數。由於Caculator類模板要求提供的參數類型支持“+”和"-"操作。但是,你的MyClass類只需要用到“+”操作,沒有提供"-"操作。得益於上面的規則,你的MyClass類型還是可以作為Caulator< T>的參數。前提是你沒有用到"-"相關的成員函數。
以上就是我們對C++類模板的相關應用介紹。