私有继承跟私有成员对象 的应用场景
私有继承和私有成员对象 的应用场景
请问各位大神 私有继承和私有成员对象 分别用在哪些地方? 有哪些是只能用私有继承的地方吗? 又有哪些地方只能用私有成员对象呢?
------解决方案--------------------
more effective c++这本书有分析公有继承,私有继承和非继承的应用场景。公有继承是用父类的数据和方法,是is-a关系,非继承,即将某类当作成员变量的,这是为了用它的数据,但不想用它的方法,这是has-a关系。私有继承其实也是has-a关系的一种,主要是为了用某类的数据,但又不想重新写那么多方法,想直接复用某类的方法来对这些数据做操作就好了,如果用非继承关系,就无法复用它的方法。如果用公用继承的关系,复用的方法就会是公有的,但事实上是子类不能将父类的方法公开给别人用,只能给自己用。所以用私有继承。
publice,private,protect和非继承, 这四种东西就是为了将数据和方法的访问权分开来传递给子类用的。
说了那么多,你还是去看书吧。
请问各位大神 私有继承和私有成员对象 分别用在哪些地方? 有哪些是只能用私有继承的地方吗? 又有哪些地方只能用私有成员对象呢?
------解决方案--------------------
more effective c++这本书有分析公有继承,私有继承和非继承的应用场景。公有继承是用父类的数据和方法,是is-a关系,非继承,即将某类当作成员变量的,这是为了用它的数据,但不想用它的方法,这是has-a关系。私有继承其实也是has-a关系的一种,主要是为了用某类的数据,但又不想重新写那么多方法,想直接复用某类的方法来对这些数据做操作就好了,如果用非继承关系,就无法复用它的方法。如果用公用继承的关系,复用的方法就会是公有的,但事实上是子类不能将父类的方法公开给别人用,只能给自己用。所以用私有继承。
publice,private,protect和非继承, 这四种东西就是为了将数据和方法的访问权分开来传递给子类用的。
说了那么多,你还是去看书吧。