Khi các thành viên tĩnh được kế thừa, chúng có tĩnh cho toàn bộ hệ thống phân cấp hay chỉ lớp đó, tức là:
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;
}
Tổng số sẽ là 3 trong cả ba trường hợp, hay sẽ là 2 cho SomeClass
và 1 cho SomeDerivedClass
?