bool CNode::operator<(const CNode& rhs) const {
 if (key1 != rhs.key1) { return (key1 < rhs.key1); }
 else if (key2 != rhs.key2) { return (key2 < rhs.key2); }
 else if (key3 != rhs.key3) { return (key3 < rhs.key3); }
 else { return false; }
}
を実装したら最低限逝ける、
等値演算子「==」は、それがCNodeのメソッドまたはCNode&を引数にとる
関数定義がなされていなければ(!(a < b) && !(b < a))で遂行される
ただしそれでは効率が悪いので(「==」1回につきoperator<()が2回呼ばれるので)、
「==」も手動で実装したらモアベターではある