正在加载图片...
派生类对象多次初始化同一基类数据成员问题 假设【例8.1】中,类Window、HScrollbar、VScrollbari都是从同一个基类Port 派生,即: class Port{/*...*; class Window:public Port{/*..* class HScrollbar:public Port{/*...*; class VScrollbar:public Port{/*...* class ScrollableWind:public Window,public HScrollbar,public VScrollbar {/*...*/) Port Port Port 祖先类 创建ScrollableWnd对象时, Port的构造函数通过3条不同 Window HScrollbar VScrollbar 父类 的路径,被调用了3次,从而 将显示端口初始化3次。即, 1个子类有3个同名祖先类, ScrollableWnd 子类 不符合实际! Scrollable Wnd派生树图 77 派生类对象多次初始化同一基类数据成员问题 „ 假设【例8.1】中,类Window 、HScrollbar 、VScrollbar都是从同一个基类Port 派生,即: class Port{ /*…*/}; class Window:public Port{ /*…*/}; class HScrollbar:public Port{ /*…*/}; class VScrollbar:public Port{ /*…*/}; class ScrollableWind:public Window,public HScrollbar,public VScrollbar{/*…*/}; 创建ScrollableWnd对象时, Port的构造函数通过 3条不同 的路径,被调用了 3次,从而 将显示端口初始化 3次。即, 1个子类有 3个同名祖先类, 不符合实际! Port Port Port Window HScrollbar VScrollbar ScrollableWnd ScrollableWnd派生树图 祖先类 父类 子类
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有