为了账号安全,请及时绑定邮箱和手机立即绑定
  • soldier.Person::play();


    Person::code = "123123"

    查看全部
    0 采集 收起 来源:[C++]隐藏

    2019-05-16

  • B public继承 A:

    A public --> B public

    A protected --> B protected

    A private --> B 不可访问


    B protected继承 A:

    A public,protected --> B protected

    A private --> B无法访问


    B private继承A:

    A public,protected -->B private

    A private --> B无法访问


      

    查看全部
  • 当父类和子类有相同的成员函数或者是数据成员,子类继承父类,所以子类也应该有父类的成员函数和数据成员,这时候实例化B类的对象就没法直接访问到A当中与B相同的成员函数和数据成员,这种现象叫做隐藏,

    (父子关系,成员同名,隐藏)

    查看全部
    0 采集 收起 来源:[C++]隐藏

    2019-05-12

  • 如果函数调用test(Person P):用的是一个临时变量的时候,在执行函数的时候会函数开始的时候调用依次构造函数,最后再调用析构函数,而test(Person &p)和test(Person *p)不会产生构造函数和析构函数,不会浪费时间

    查看全部
  • Person *p=new Soldier;//用Person的指针指向堆中 soldier的对象

    p->play();

    delete p;

    p=NULL;

    发现这个时候析构函数调用的时候只调用了父类的析构函数,并没有调用子类的析构函数,所以这会产生内存的泄露,如果想释放这段内存,要在父类和子类的析构函数前面都加上virtual,使他们成为虚的析构函数,这样就可以了,使用条件是(如果用父类的指针指向堆中子类的一段内存,最后并且想用父类的对象来释放这两端内存,这是就需要用到虚析构函数)


    查看全部
  • 用父类的指针或者说是对象,只能调用父类里面的成员函数和数据成员,无法去访问子类的数据成员和成员函数。

    查看全部
  • (1)Soldier soldier;
    Person p;
    p=soldier;
    (2)Soldier soldier;
    Person p=soldier;

    无论以上是给父类的对象直接赋值或者用子类去初始化,父类里面的和子类相同的成员函数,都会被子类里面的数据所覆盖掉。

    查看全部
  • 包含但可以不被访问

    查看全部
    0 采集 收起 来源:练习

    2019-05-10

  • $dPORYbMLCF6$
    查看全部
    1 采集 收起 来源:[C++]隐藏

    2019-04-28

  • https://img1.sycdn.imooc.com//5cc44a520001bcac07270204.jpg。。。。。https://img1.sycdn.imooc.com//5cc44a4a00010e1b07350206.jpg

    查看全部
  • https://img1.sycdn.imooc.com//5cc446d00001d24d07920247.jpg关于public继承

    查看全部
    0 采集 收起 来源:[C++]公有继承

    2019-04-27

  • 使用了虚继承(中间层应写为Worker:virtual public Person)则最顶层基类不接受参数传递而使用默认参数

    查看全部
  • 公有成员可以直接访问,可以间接通过自身类的公有函数访问,也可以通过子类的公有函数访问 

    保护成员不可以直接访问,可以间接通过自身类的公有函数访问,也可以通过子类的公有函数访问 

    私有成员不可以直接访问,可以间接通过自身类的公有函数访问,不可以通过子类的公有函数访问

    private不能继承、类外不能访问,protected能继承,类外不能访问,public能继承、类外能访问。总结:权限:类外访问 < 继承 < 类内访问。

    查看全部
  • 公有构造函数:调用子类父类也随之调用
    查看全部
  • 访问父类被覆盖的成员函数时

    查看全部
    0 采集 收起 来源:[C++]隐藏

    2019-04-10

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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