若继承类型为private希望基类中某些公有成员在派生类中也是公有的如何办到

classX{inta;public:intb;X(){a=3;b=5;}intget(){returna;}voidprint(){cout<<a<<endl;}};c... class X
{
int a;
public:
int b;
X(){a=3;b=5;}
int get(){return a;}
void print(){cout<<a<<endl;}
};
class Y:X
{
int b;
public:
void make(){b=get()+10;}
void print(){ X::print();cout<<b<<endl;}//此处如果派生函数与基函数同名调用基函数要加 基类名::函数名(),若不同名则无事
X::b;//这样做为什么不能编译通过?
X::get;//这样做为什么不能编译通过?
};
int main()
{
X x1;
Y y1;
y1.make();//b=13
cout<<y1.b<<y1.get()<<endl;
x1.get();//a=3
y1.print();//a=3,b=13
}
展开
 我来答
liqirui_1990
2010-04-08 · TA获得超过139个赞
知道答主
回答量:52
采纳率:0%
帮助的人:61.6万
展开全部
若继承类型为private希望基类中某些公有成员在派生类中也是公有的如何办到

这是不可能的,你要那样的话 ,最好就是public继承

private继承后 成员在派生类中的访问属性是固定的

建议你认真看看书

实际中private继承和protected继承用的比较少
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式