C ++:隐藏基本静态成员

时间:2009-09-07 01:56:45

标签: c++ class oop static field

在C ++中,是否可以让子类“隐藏”基类的静态字段和方法? (即A有一个名为ABC的类型为int的字段,B:A和B有一个名为ABC的类型为int的字段)

3 个答案:

答案 0 :(得分:6)

#include <iostream>

using namespace std;

class A{
     public:
    static int a;
};

class B: public A{
     public:
      static  int a; // hide base member

 };

int A::a;
int B::a;
int main(){
    A::a=10;
    B::a=20;

    B k;
    cout << "\n" << B::a << k.a;
 return 0;
}

答案 1 :(得分:3)

也许:

class B : private A
{
...
};

这将隐藏所有内容,而不仅仅是静态。

答案 2 :(得分:2)

你想私下继承?

class B : private A {
    // ...
};