int j;
public:
X::X() { j = 0; };
int lowerBound() const; // DOES NOT MODIFY ANY DATA MEMBERS
int dimension(X x1, const X &x2) { // x2 PARAMETER WON'T BE MODIFIED
x1.j = 3; // OKAY; x1 OBJECT IS MODIFIABLE
x2.j = 5; // ERROR; x2 IS NOT MODIFIABLE
return x2.j;
}