南宁根管治疗后牙齿寿命

发布日期:2019-09-19 12:07
信息来源:济南日报 字体:

南宁根管治疗后牙齿寿命,广西南宁那个医院牙科好,南宁口腔科在线,南宁全假牙的价格,南宁怎样才能使牙齿美白,南宁种植牙排行

  在前面例子中,派生类都只有个基类,称为单继承(Single Inheritance)↓此之外,C++也支持多继承(Multiple Inheritance),即个派生类可以有两个或多个基类。

  多继承容易让代码逻辑复杂、思路混乱,直备受争议,中小型项目中较少使用,后来 Java、C#、PHP 等干脆取消多继承。

  多继承语法也很简单,将多个基类用逗号隔开即可。例如已声明类A、类B和类C,那么可以这样来声明派生类D:

  D 多继承形式派生类,它以公有方式继承 A 类,以私有方式继承 B 类,以保护方式继承 C 类。D 根据不同继承方式获取 A、B、C 中成员,确定它们在派生类中访问权限。

  多继承形式下构造函数和单继承形式基本相同,只要在派生类构造函数中调用多个基类构造函数。以上面 A、B、C、D 类为例,D 类构造函数写法为:

  基类构造函数调用顺序和和它们在派生类构造函数中出现顺序无关,而和声明派生类时基类出现顺序相同。仍然以上面 A、B、C、D 类为例,即使将 D 类构造函数写作下面形式:

  那么也先调用 A 类构造函数,再调用 B 类构造函数,最后调用 C 类构造函数。

  下面个多继承实例:

  运行结果:

  BaseA constructor

  BaseB constructor

  Derived constructor

  , , , ,

  Derived destructor

  BaseB destructor

  BaseA destructor

  从运行结果中还可以发现,多继承形式下析构函数执行顺序和构造函数执行顺序相同。

  当两个或多个基类中有同名成员时,如果直接访问该成员,就会产生命名冲突,编译器不知道使用哪个基类成员。这个时候需要在成员名字前面加上类名和域解析符,以显式地指明到底使用哪个类成员,消除二义性。

  修改上面代码,为 BaseA 和 BaseB 类添加 show() 函数,并将 Derived 类 show() 函数更名为 display():

  请读者注意第 、 行代码,我们显式指明要调用哪个基类 show() 函数。

责任编辑:南宁根管治疗后牙齿寿命

【打印本页】 【我要纠错】 【关闭窗口】

分享到:
上一篇:美国海军“里根”号航母编队明日将停靠香港
下一篇: 第三届江苏省科协青年会员创新创业大赛精彩纷呈