C++ではis-Aとhas-Aが選べないという事に気が付いていないのでは?