C++语言基础教程(第二版)吕凤翥 第十三章 C++语言工具

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;
    }
}

猜你喜欢

转载自www.cnblogs.com/focusahaha/p/12597609.html