1.模板
模板是一种编程工具,使用它编程者可以创建具有通用类型的函数库和类库。
2.函数模板
template <class 标识符1, class 标识符2,...>
类型 函数名(参数表){函数体}
#include<iostream> using namespace std; template <class T> T min(T a, T b){ return a > b ? b : a; } void main(){ cout <<"min(1,2) = "<< min(1,2)<<endl; cout << "min(1.0,2.0) = " << min(1.0, 2.0) << endl; }
3.类模板
template <class 标识符1, class 标识符2,...>
class 类名{类体说明};类的实现部分
#include<iostream> using namespace std; template <class T> class Data{ public: Data(T a, T b){ this->a = a; this->b = b; } T getA() { return a; } T getB(); private: T a, b; }; template <class T> T Data<T> ::getB() { return b; } void main(){ Data<int> data1(1, 2); Data<int> data2 = Data<int>(3, 4); cout << data1.getA() << endl; cout << data1.getB() << endl; cout << data2.getA() << endl; cout << data2.getB() << endl; }
4.异常处理
异常处理是C++语言的工具,用于对事先可预测的错误进行处理,并从错误中恢复过来。
#include<iostream> using namespace std; int divide(int i, int j){ if (j == 0){ throw i; } return i / j; } void main(){ try{ cout << divide(8, 2) << endl; cout << divide(8, 0) << endl; } catch (int i){ //catch(...)可用于捕获任何类型的异常信息 cout << i << "/0 is not allowed." << endl; } }