第10讲 类的重用和多态性_696306382.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10讲 类的重用和多态性_696306382

* * * * * * * * * * * * * * * * * * * * ********2011/11/23 * * * * * * * * * * * * * * 例10-9单一继承时的构造函数举例 #includeiostream using namecpace std; class B { public: B(); B(int i); ~B(); void print() const; private: int b; }; 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 * 例10-9 (续) B::B() { b=0; cout Bs default constructor called. endl; } B::B(int i) { b=i; cout Bs constructor called. endl; } B::~B() { cout Bs destructor called. endl; } void B::print() const { cout b endl; } 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 * 例10-9 (续) class C: public B { public: C(); C(int i, int j); ~C(); void print() const; private: int c; }; C::C() { c = 0; cout Cs default constructor called. endl; } C::C(int i,int j): B(i) { c = j; cout Cs constructor called. endl; } 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 * 例10-9 (续) C::~C() { cout Cs destructor called. endl; } void C::print() const { B::print(); cout c endl; } int main() { C obj(5, 6); obj.print(); return 0; } 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 多继承时的构造函数 派生类名::派生类名(参数表):基类名1(基类1初始化参数表), 基类名2(基类2初始化参数表), ...基类名n(基类n初始化参数表) { 本类成员初始化赋值语句; }; * 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 派生类与基类的构造函数 当基类中声明有缺省构造函数或未声明构造函数时,派生类构造函数可以不向基类构造函数传递参数,也可以不声明,构造派生类的对象时,基类的缺省构造函数将被调用。 当需要执行基类中带形参的构造函数来初始化基类数据时,派生类构造函数应在初始化列表中为基类构造函数提供参数。 * 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 多继承且有内嵌对象时的构造函数 派生类名::派生类名(形参表):基类名1(参数), 基类名2(参数), ...基类名n(参数),新增成员对象的初始化 { 本类成员初始化赋值语句; }; * 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 构造函数的执行顺序 调用基类构造函数,调用顺序按照它们被继承时声明的顺序(从左向右)。 对成员对象进行初始化,初始化顺序按照它们在类中声明的顺序。 执行派生类的构造函数体中的内容。 * 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 * 例10-10(教材例7-4) 派生类构造函数举例 #include iostream using namespace std; class Base1 { //基类Base1,构造函数有参数 public: Base1(int i) { cout Constructing Base1 i endl; } }; class Base2 { //基类Base2,构造函数有参数 public: Base2(int j) { cout Constructing Base2 j endl; } }; class Base3 { //基类Base3,构造函数无参数 public: Base3() { cout Constructing Base3 * endl; } }; 10.6 派生类的构造和析构函数 —— 10.6.1 构造函数 * 例10-10 (续) class Derived: public Base2, pub

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档