Когда статические члены наследуются, являются ли они статическими для всей иерархии или только для этого класса, то есть:
class SomeClass
{
public:
SomeClass(){total++;}
static int total;
};
class SomeDerivedClass: public SomeClass
{
public:
SomeDerivedClass(){total++;}
};
int main()
{
SomeClass A;
SomeClass B;
SomeDerivedClass C;
return 0;
}
будет равно 3 во всех трех случаях, или это будет 2 для SomeClass
и 1 для SomeDerivedClass
?