перегруженный оператор = не будет виден в производных классах .... таков стандарт, а MSDN по этому поводу говорит следующее....
The assignment operator (=) is, strictly speaking, a binary operator. Its declaration is identical to any other binary operator, with the following exceptions: 
It must be a nonstatic member function. No operator= can be declared as a nonmember function. 
It is not inherited by derived classes. 
A default operator= function can be generated by the compiler for class types if none exists. (For more information about default operator= functions, see Memberwise Assignment and Initialization.) 
вот видишь написано  :!: It is not inherited by derived classes :!:
так что если хочешь иметь такое 
CB b; 
b = 10; 
то руками переопределяй в производном...   а кому ща легко