Если вы создаете функцию const
члена set
, вы получите то, что вам нужно.
class Property
{
int get() const;
void set(int a);
};
class ConstChild : public Property
{
void set(int a) const {}
};
Единственное предостережение в том, что хитрый пользователь может обойти ваше намерение, используя:
ConstChild child;
child.set(10); // Not OK by the compiler
Property& base = child;
base.set(10); // OK by the compiler