C ++派生类是否可以从Base类继承静态数据成员和静态成员函数?
class Base
{
public:
static int base1;
static void function1() {};
protected:
static int base2;
static void function2() {};
}
class Derived : public Base
{
public:
int a;
protected:
int b;
}
Derived
有base1
,base2
,function1
和function2
吗?
如果Derived
类有它们,那么从基类继承的protected
数据和public
数据之间的关系是什么?它们一样吗?或者是继承数据和函数是否为其基类的副本?
答案 0 :(得分:3)
static
成员不是继承,但仍然可以访问。也就是说,不会有派生类型的版本,但您仍然可以访问它们,它将与您直接访问基本静态成员的版本相同。
由于静态数据成员对所有对象都是通用的。