継承を介してメンバ関数のオーバーロード
ではなく多重定義を狙ったのですがうまくいきません.

<詳細>
親クラスから継承して子クラスを作りました.そのとき,
親クラスで定義したSet(int)というpublicな
メンバ関数があるのですが,これと同じ関数名で
引数の違うSet(int,int)という関数を定義しました.
これで,子クラスにSet(int)とSet(int,int)という
多重定義されたメンバ関数が定義されたと思い
まして,喜び勇んで子クラスで宣言した変数a
からa.Set(int)を呼び出したらgccに
「そんなメンバ関数無いよ」と起こられました.
誰か,こんな現象について知っている方
解説お願いします.