#include <iostream>
class A {
protected:
void a() {std::cout<<»Hi\n»;}
public:
A() {}
~A() {}
};
class B : public A {
public:
B() {}
~B() {}
A::a;
};
int main()
{
B b;
b.a();
return 0;
}
Вот, корректный с точки зрения GNU G++ и Microsoft Visual Studio код. Почему Builder считает, что он умнее всех, и выдаёт ошибку на нём?
Процесс создания компонентов это немного усложняет, так как для каждой функции приходится писать «заглушку». А каковы выгоды?