кто может подсказать почему помеченная звездочкой строка не компилируется? Ведь в принципе все что было protected в классе А, должно быть видно main.cpp:36: within this context в классе В. Как факт, первый конструктор работает.
class A{
protected:
int a;
public:
A(){a=1;}
};
class B: public A{
protected:
int b;
public:
B():A(){b=a+1;} // works
//(*) B(const A& aa):A(){b=aa.a+10;} //compiling error: A::a is // protected within this context
};