5.2.1 L'opérateur d'addition

L'opérateur d'addition :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template <class A, class B>
class PAddExpr : public PExprGen<PAddExpr<A,B> >{
	const A& p_a;
	const B& p_b;
	public:
		PAddExpr(const A& a, const B& b) : p_a(a), p_b(b){}
		double operator[](size_t i) const{
			return p_a[i] + p_b[i];
		}
};

template <class A, class B>
inline PAddExpr<A,B> operator + (const PExprGen<A>& a, const PExprGen<B>& b){
	return PAddExpr<A,B>(a,b);
}