怀疑是如标题所述:
使用以下课程:
class A
{
public:
int a;
int b;
int c;
function1();
function2();
}
和B类扩展A,如何将所有变量从A变为公?
class B : private A
{
public:
int a; //How to turn this public from A
int b; //How to turn this public from A
int c; //How to turn this public from A
}
答案 0 :(得分:7)
将公共数据和私有基类的成员公开为派生类中的公共数据是一个坏主意。但是,如果必须,您可以使用:
class B : private A
{
public:
using A::a;
using A::b;
using A::c;
};
答案 1 :(得分:2)
请勿在{{1}}中重新声明它们。
示例:
B
答案 2 :(得分:0)
答案 3 :(得分:-1)
我认为你可以做到
class B : private A
{
public:
int A::a;
int A::b;
int A::c;
}
虽然,我从未尝试过;