Во-первых, вы не сможете манипулировать значением внутри вашего объекта, если вы не вернете ссылку, а не значение:
int& get();
Теперь он возвращает ссылку и может быть изменен. Но имхо это не совсем чисто, вы также должны определить установщик и использовать его для записи измененного значения:
int get() const;
void set(int);
...
A::do_something()
{
x = get();
set(value);
}
Производительность установщика зависит от вашего компилятора. Большинство современных компиляторов способны встроить простые геттеры / сеттеры, поэтому не должно быть никаких потерь производительности.