最新回答 / 慕沐6594187
初始化列表是初始化成员变量, 而继承体系中 ,子类的构造函数需要调用父类的构造函数(在子类产生一个父类对象),从而才能对父类对象虚函数重写(也就是对父类对象虚表的覆盖)
2016-08-31
最新回答 / 慕移动2313051
因为test1是直接以类对象作为实参,在执行时会产生一个临时对象,函数执行完后会自动销毁,所以你看到了~person();但test2和test3是以指针和引用作为函数实参,在执行时不会产生新对象,所以函数执行完不存在释放,相对于直接以对象作为实参的情况,这两种效率更高
2016-08-19
已采纳回答 / 慕粉3792264
在私有继承中父类的公有成员和函数都被继承到了子类的私有访问限定符下面了,在main函数中是无法直接调用私有成员中的成员和函数,但是可以通过子类中的成员函数来访问私有成员中的成员和函数,再在main函数调用相应的成员函数,通过这种方法相当于间接的访问了其父类在私有继承中的公有成员和函数。
2016-08-18
最新回答 / 慕粉3657463
public protected private 共有继承 public protected 不可见 私有继承 private private 不可见 保护继承 protected protected 不可见
2016-07-28
最新回答 / 兮蓅
首先,Soldier类保护继承Person类,Infantry公有继承Soldier类。这个时候Soldier的对象不能调用Person类中的work成员函数,说明Person中数据成员和成员函数不在其(Soldier)public下(因为Person中work的访问属性为public,如果是公有继承肯定可以访问)。那就剩下保护继承(私有继承情况更是不能)了。而Infantry是公有继承Soldoer类,如果Infantry中成员可以访问Person中的数据成员和成员函数也就说明了Soldier类中的成员...
2016-07-04
已采纳回答 / 慕田峪3503779
首先他证明了protected继承并不是被继承到public里面,因为person的子类Soldier的实例无法访问protected继承自person的数据成员,这时还有可能是被继承到private里面;但是,Soldier的子类Infantry可以访问到父类protected继承自person的成员函数,说明只能是被继承到protected中,若是到了private中,则Infantry中无法使用。
2016-06-29