C++派生类是否可以继承基类的静态数据成员和静态成员函数?

标签 c++ inheritance static

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;
}

Derivedbase1base2function1function2吗?

如果Derived类有它们,protected数据和从基类继承的public数据有什么关系?它们相同吗?还是继承数据和函数是其基类的拷贝?

最佳答案

static 成员不是继承的,但它们仍然可访问。也就是说,派生类型不会有版本,但您仍然可以访问它们,这与直接访问基本静态成员一样。 由于静态数据成员对所有对象都是通用的。

关于C++派生类是否可以继承基类的静态数据成员和静态成员函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175016/

相关文章:

c++ - 试图在对象内部创建指向前一个对象的指针

C++ 可以删除运算符失败,如果不能,为什么?

c++ - 创建具有多态性和 op 的模板。 C++中的重载

c++ - 访问与父类是 friend 的类的私有(private)成员

java - 找不到 super 语句的符号

java - 静态类的初始化?

c++ - QT中数组指针对象的指针

php - 在 PHP 中覆盖扩展类中的命名空间使用

mysql - Qt静态构建与静态mysql插件混淆

static - 在 gfortran 中使用 -static 和 -fopenmp 时出现段错误