c++读书笔记——多重继承

原创 2015年07月08日 03:52:41

  多重继承时一个类的直接基类多于一个,则该类得到多个基类的属性和行为。定义多重继承的语法类似于单一继承,只是要在冒号后面列出每个基类的名称和继承方式。对于多个基类的初始化,也需要采用成员初始化列表形式完成。

  与单一继承类似,在构造多基类的派生类对象时,需要首先调用基类的构造函数,然后执行派生类的构造函数。这里需要注意,对于多个基类构造函数的调用,是以声明继承关系时所列基类的顺序进行的,而不是以在成员初始化列表中所列基类构造函数调用的顺序进行的。

#include<iostream>
 
class  BaseA{
  int n;
public :
BaseA(int m)  :n(m){
std::cout<<"BaseA::BaseA:n="<<n<<std::endl;}
~BaseA(){
     std::cout<<"BaseA::BaseA:n="<<n<<std::endl;
}
};

  class BaseB{
    double d;
public:
BaseB(double c):d(c){
std::cout<<"BaseB::BaseB:d="<<d<<std::endl;
}
~BaseB(){
      std::cout<<"BaseB::BaseB:d="<<d<<std::endl;
}
};

class Derived:public BaseA,public BaseB{
    char ch;
public :
    Derived(int m,double c,char cc):ch(c),BaseB(c),BaseA(m){
    std::cout<<"Derived::Derived:ch="<<ch<<std::endl;
}
~Derived(){
  std::cout<<"Derived::Derived:ch="<<ch<<std::endl;
}
};
int main(){
   Derived d(1,2.5,‘A');
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【Effection C++】读书笔记 条款40:明智而审慎的使用多重继承

【Effection C++】继承与面向对象设计 条款40:明智而审慎的使用多重继承

读书笔记--C++程序设计(第2版)--11.6多重继承(与虚基类)

多重继承(与虚基类) 1. 多重继承说明 也就是,一个派生类有两个或多个基类(派生类继承了两个或者多个基类的属性)。 2. 多重继承的书写形式为 举例形式说明: 如果已经声明了类A,类B,和类C,可以...

《Effective C++》读书笔记之item40:明智而审慎地使用多重继承

1.多重继承的缺点: (1)从一个以上的基类继承相同名称,可能导致歧义,使用时应当使用域作用符限定具体是哪个基类的成员。注意:在这种歧义中,C++用来解析重载函数调用的规则在起作用——在看到是否有个...

多重继承——《C++编程风格》读书笔记(七)

多重继承——《C++编程风格》读书笔记(七) 分类: 读书笔记2010-03-20 15:25 343人阅读 评论(0) 收藏 举报 编程读书c++propertiesclasso...
  • pi9nc
  • pi9nc
  • 2013年08月04日 20:36
  • 522

C++ Primer学习笔记——$19 多重继承与虚继承(转自:http://blogold.chinaunix.net/u/18517/showart_252162.html)

题记:本系列学习笔记(C++ Primer学习笔记)主要目的是讨论一些容易被大家忽略或者容易形成错误认识的内容。只适合于有了一定的C++基础的读者(至少学完一本C++教程)。  作者: tyc611...
  • lslxdx
  • lslxdx
  • 2011年05月05日 22:35
  • 389

C++ Primer学习笔记——$19 多重继承与虚继承

题记:本系列学习笔记(C++ Primer学习笔记)主要目的是讨论一些容易被大家忽略或者容易形成错误认识的内容。只适合于有了一定的C++基础的读者(至少学完一本C++教程)。  作者: tyc611,...
  • whycold
  • whycold
  • 2011年01月19日 15:13
  • 652

C++ Primer学习笔记——$19 多重继承与虚继承 (

题记:本系列学习笔记(C++ Primer学习笔记)主要目的是讨论一些容易被大家忽略或者容易形成错误认识的内容。只适合于有了一定的C++基础的读者(至少学完一本C++教程)。   作者: ty...

2013级C++第12周(春)项目——成员的访问属性、多重继承【 第2部分 实践项目】

公有ji'ch/* * 程序的版权和版本声明部分 * Copyright (c)2014, 在校学生 * All rightsreserved. * 文件名称: 1.cpp * 作 者: 刘旺...

C++ primer第二次阅读学习笔记(第17章:用于大型程序的工具:多重继承与虚继承) .

第十七章:用于大型程序的工具:多重继承与虚继承 多重继承是从多于一个直接基类派生类的能力。多重继承的派生类继承其所有父类的属性。 为了支持多重继承,应扩充派生列表,多个类用逗号分割。如: cla...

2013级C++第12周(春)项目——成员的访问属性、多重继承 【项目2 - 教师兼干部类】

/* * 程序的版权和版本声明部分 * Copyright (c)2014, 在校学生 * All rightsreserved. * 文件名称: 1.cpp * 作 者: 刘旺 * 完成日期...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++读书笔记——多重继承
举报原因:
原因补充:

(最多只允许输入30个字)