为了账号安全,请及时绑定邮箱和手机立即绑定
  • 一个子类有多个父类,叫多继承 多继承基类用“,”分隔,而且必须标明继承类型 如:class a :public b,public c 人---士兵---步兵 步兵继承自士兵,士兵继承自人 这种是[多重继承]
    查看全部
  • 继承的时候如果不写public/protected/private,默认私有继承
    查看全部
  • 通过对象传参时会产生一个临时对象,调用完后执行析构函数销毁;通过引用和指针传参时不会产生临时对象,效率更高
    查看全部
  • 虚析构函数:父类指针释放子类内存 父类有虚析构函数,子类可以不写,因为已经继承了 虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象。 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。 所以基本的一条是:无故的声明虚析构函数和永远不去声明一样是错误的。实际上,很多人这样总结:当且仅当类里包含至少一个虚函数的时候才去声明虚析构函数。 抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声明一个纯虚析构函数。
    查看全部
  • 问:在Person *p=new Soldier,销毁对象的时候函数的调用情况是? 首先会调用person的构造函数 然后调用soldier的构造函数 最后调用person的析构函数 值得注意的是,并没有调用soldier的析构函数,那么就很有可能会引发一些问题,例如很有可能会造成内存泄漏,所以在person的析构函数前加上一个关键字virtual,变成virtual ~person。此后如果销毁对象的时候,就会自动执行~soldier()然后再执行~person()
    查看全部
  • 在soldier继承了person后,如果Person p1=s1(s1是一个soldier对象,p1是一个person对象),那么soldier中的数据成员的值会拷贝给person的相同名字的数据成员,而soldier特有的数据成员的值则会被截断(可以理解为丢失) 而Person *p=&s1时,p指针不能访问子类特有的数据成员,只能访问共有的数据成员
    查看全部
    0 采集 收起 来源:[C++]isA

    2018-03-22

  • 含有不同参数个数的同名函数,无法形成重载,只能形成隐藏。 soldier继承了person,就算soldier里面的play方法有参数,person的play方法没参数,他们也不可以形成重载。简单的说: soldier.play(7);调用的是soldier里面的play方法 soldier.play();还是调用不了父类的play方法,只能通过soldier.person::play()来调用
    查看全部
  • 在子类中访问父类同名成员的方法: 父类::成员
    查看全部
    0 采集 收起 来源:[C++]隐藏

    2017-09-02

  • 子类访问父类中同名函数的方法: 子类.父类::函数;
    查看全部
    0 采集 收起 来源:[C++]隐藏

    2017-09-02

  • 类line只能访问到对象m_coora和m_coorb的公有成员
    查看全部
  • 在继承时,父类protected部分的成员被继承到子类private部分,父类public部分的成员被继承到子类private部分 父类private部分的成员被继承到子类不可见部分,即子类无法访问
    查看全部
  • 在继承时,父类protected部分的成员被继承到子类protected部分,父类public部分的成员被继承到子类protected部分 父类private部分的成员被继承到子类不可见部分,即子类无法访问
    查看全部
  • 在继承时,父类protected部分的成员被继承到子类protected部分,父类public部分的成员被继承到子类public部分 父类private部分的成员被继承到子类不可见部分,即子类无法访问
    查看全部
    0 采集 收起 来源:[C++]公有继承

    2017-09-02

  • protected在不涉及继承时,和private效果一样,数据不允许访问。涉及继承时,不同
    查看全部
    0 采集 收起 来源:[C++]公有继承

    2017-09-02

  • 实例化子类对象时先执行父类构造函数再执行子类构造函数,销毁对象时相反
    查看全部
    0 采集 收起 来源:代码演示

    2017-09-02

举报

0/150
提交
取消
课程须知
本课程是C++初级课程 熟练掌握C++语言基础语法,如需要学习C++基础语法的可以看《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》
老师告诉你能学到什么?
1、什么是继承 2、基类和派生类的概念 3、继承的三种方式 4、多重继承和多继承 5、虚继承是怎么回事

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!