在C++中,模板類是一種泛型編程的工具,它允許你編寫與類型無關的代碼。在Ubuntu上使用模板類與在其他C++環境中使用它們的方法相同。下面是一個簡單的模板類示例,以及如何在Ubuntu上使用它。
首先,創建一個名為MyTemplateClass.h
的頭文件,其中包含模板類的定義:
#ifndef MYTEMPLATECLASS_H
#define MYTEMPLATECLASS_H
template <typename T>
class MyTemplateClass {
public:
MyTemplateClass(T value);
T getValue() const;
void setValue(T value);
private:
T value;
};
#include "MyTemplateClass.cpp"
#endif // MYTEMPLATECLASS_H
接下來,創建一個名為MyTemplateClass.cpp
的源文件,其中包含模板類的實現:
#include "MyTemplateClass.h"
template <typename T>
MyTemplateClass<T>::MyTemplateClass(T value) : value(value) {}
template <typename T>
T MyTemplateClass<T>::getValue() const {
return value;
}
template <typename T>
void MyTemplateClass<T>::setValue(T value) {
this->value = value;
}
現在,你可以在其他C++文件中使用這個模板類。例如,創建一個名為main.cpp
的文件:
#include <iostream>
#include "MyTemplateClass.h"
int main() {
MyTemplateClass<int> intObj(42);
std::cout << "Int value: " << intObj.getValue() << std::endl;
MyTemplateClass<std::string> strObj("Hello, World!");
std::cout << "String value: " << strObj.getValue() << std::endl;
return 0;
}
最后,使用g++編譯器編譯并運行程序:
g++ -o main main.cpp MyTemplateClass.cpp
./main
這將輸出:
Int value: 42
String value: Hello, World!
這就是在Ubuntu上使用模板類的基本方法。你可以根據需要修改模板類和示例代碼,以滿足你的需求。