5.2.3 L'opérateur de négation

L'opérateur de négation :

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

template <class A>
inline PMinusExpr<A> operator- (const PExprGen<A>& a){
	return PMinusExpr<A>(a);
}