[2018年6月19号]C++ primer 课后练习 第十八章用于大型程序的工具

18.21

a.CADVehicle多重继承,正确,Vehicle将是默认的private继承

b.错误,不能多重继承同一个基类

c.iostream多重继承istream,ostream,正确

18.22

猜测:规则是从基类开始构造,按继承列表顺序进行,

1.A()

2.B()

3.C()

4.X()

5.Y()

6.Z()

7.MI()



18.23

a.可以

 b.可以

c.可以

d.可以


18.24

除了print()和析构函数ZooAnimal其他都是不可调用的

18.25

a.MI::print

b.MI::print

c.MI::print

d.MI::~MI()

e.MI::~MI()

f.MI::~MI()


18.26

根据题意,mi.print是想调用Base1::print(int)

可作如下更改

1.不要将函数全部命名为print,作区分

2.在MI内重新重载一个print(int),然后调用基类Base1的print(int)

18.27

a.

    Base1::ival;
    Base1::dval;
    Base1::cval;
    Base2::dval;
    Derived::sval;
    Derived::dval;
    MI::ival;
    MI::dval;

b.

如果直接使用dval,ival都会产生二义性

c.

    MI::dval += Base1::dval + Derived::dval;

d.

    Base2::dval = Mi::dval[Mi::dval.size()];

e.

    Derived::sval[0] = Base1::cval;
18.28





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值