C++派生类是否可以继承基类的静态数据成员和静态成员函数?
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
数据有什么关系?它们相同吗?还是继承数据和函数是其基类的拷贝?
最佳答案
static
成员不是继承的,但它们仍然可访问。也就是说,派生类型不会有版本,但您仍然可以访问它们,这与直接访问基本静态成员一样。
由于静态数据成员对所有对象都是通用的。
关于C++派生类是否可以继承基类的静态数据成员和静态成员函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175016/