在C ++中,是否可以让子类“隐藏”基类的静态字段和方法? (即A有一个名为ABC的类型为int的字段,B:A和B有一个名为ABC的类型为int的字段)
答案 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 {
// ...
};