c++题目一道

2024-12-03 06:33:50
推荐回答(2个)
回答1:

1.f1(),i1可以访问j1不可以 private是任何继承方式都不能访问的
2.f1()可以访问,i1只能在内部直接访问不能被对象访问,j1不能
3.f2(),j2可以访问 f1(),i1可以访问 j1不行
4.f2()可以 j2不行 f1可以,i1,j1不行

记住直接访问的属性为public protected 间接访问的属性为public

回答2:

1.派生类B中成员函数f2()能否访问基类A中的成员:f1(),i1 和j1?
---f2()能访问f1(),因为f1()算公有的,也能访问j1,因为j1算保护类型,专门为继承类设计,至于i1就不能了,因为算私有。
2.派生类B的对象b1能否访问基类A中的成员:f1(),i1 和j1?
-----------------同上
3.派生类C中成员函数f3()能否访问直接基类B中的成员:f2() 和j2?能否访问间接基类A中的成员:f1(),i1 和j1?
----------------记住规则,在继承类中,私有的不可以访问,保护和公有可以
4.派生类C的对象c1能否访问直接基类B中的成员:f2() 和j2?能否访问间接基类A中的成员:f1(),i1 和j1?
---------------同上