第17章 - 模板基础
嗨,朋友!我是长安。
模板是C++的泛型编程工具,可以编写适用于多种数据类型的代码。
📝 函数模板
// 交换函数模板
template <typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
int main() {
int x = 10, y = 20;
swap(x, y); // T = int
double a = 1.5, b = 2.5;
swap(a, b); // T = double
string s1 = "Hello", s2 = "World";
swap(s1, s2); // T = string
}
🏗️ 类模板
template <typename T>
class Stack {
private:
T data[100];
int top;
public:
Stack() : top(-1) {}
void push(T value) {
if (top < 99) {
data[++top] = value;
}
}
T pop() {
if (top >= 0) {
return data[top--];
}
return T();
}
bool isEmpty() {
return top == -1;
}
};
int main() {
Stack<int> intStack;
intStack.push(10);
intStack.push(20);
Stack<string> strStack;
strStack.push("Hello");
strStack.push("World");
}
➡️ 第18章 - 异常处理
