5.2.2 L'opérateur de soustraction

L'opérateur de soustraction :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template <class A, class B>
class PSubExpr : public PExprGen<PSubExpr<A,B> >{
	const A& p_a;
	const B& p_b;
	public:
		PSubExpr(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 PSubExpr<A,B> operator- (const PExprGen<A>& a, const PExprGen<B>& b){
	return PSubExpr<A,B>(a,b);
}