如何继承静态成员
How inherit static members?
我正在努力让我的派生类继承静态成员。
class Base
{
public:
static int member;
};
class Derived : Base
{
};
Derived::member = 2;
Base::member = 0;
因此: Derived::member == 0;
如何实现Derived::member == 2
的模式?
静态
成员不能继承,因为它们属于声明它们的类(因为它们实际上只是具有一些更高级访问权限的全局变量),但派生类仍然可以访问它们而无需编写Base::
(当然它们必须至少是protected
)。访问还意味着您可以设置它们。
不能继承基类的静态成员变量,因为它们属于类,而不仅仅是类的特定实例。因此,所有基类和派生类(以及它们的实例)将共享相同的静态成员变量,并且所有基类和派生类(以及它们的实例)都将看到它的任何更改。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 如何在C++中使用非静态成员函数作为回调函数
- (C++)为什么静态成员可以在初始化之前使用
- 类的全局对象和静态成员
- 在作为静态成员包含在另一个类中的类的构造函数中使用 cout
- 模板化类中静态成员的延迟初始化
- 使用静态成员声明类时遇到问题
- C++:是否可以使用非静态成员变量模板?
- 如何在复杂继承中访问静态成员变量
- 使用 CRTP 进行选择性静态成员继承
- 模板,继承,静态成员增量
- 在C 中,静态成员函数是否继承了?如果是,为什么没有出现歧义错误
- 如何继承静态成员
- 静态成员继承和保护
- C++-Do派生类继承基类的静态成员
- 从外部访问静态成员并通过继承 c++ 访问静态成员
- 让基类的方法使用继承类的静态成员变量...可能?
- 访问2个继承类的静态成员
- 从继承的类实例调用静态成员
- 模板类:未继承静态成员