はじめまして、C++初心者なのですが質問があります。
クラスの宣言で、例えば
class A{
public:
void a1();
void a2();
}

というクラスを継承して
class B : public A{
};
というクラスBを作ったとします。
このクラスBのオブジェクトからは関数a1にはアクセスできるけど
関数a2にはアクセスできないようにしたいのですが、
どのようにすればよいでしょうか?

なんだかprivateやらprotectedやらすこし混乱しています。
どうか教えてください。