質問です。

#include "classB.h"
class A{
private:
B* b;
public:
void set(B* b){this->b=b;}
B* get(){return b;}
};

クラスAのメンバーにクラスBのポインタとアクセサがあります。
しかし、set()を使わずに、get()を使ってメンバーにアクセスできてしまいます。
例:a->get()=b;

ポインタではなく、複製したインスタンスを返すことも考えたのですが
クラスBのサイズが非常に大きいため、
可能であれば複製はしたくありません。

どうかご助力をお願い致します。