C++で、継承についてわからないことがあります。

class A
{
 SetOne();
 SetTwo();
};

class B
{
 SetOne(;);
}

class C
{
 SetTwo();
};

というクラスがあったとします。クラスB、CはクラスAにある関数と同じものを一つずつ持っています。
このとき、同じことを何度も定義すると無駄なので、継承を考えますが、必要ない関数まで継承されて
しまいます。継承先で、必要のない関数を消す方法などはないのでしょうか?
また、何か解決策がありましたら教えてください。