为了账号安全,请及时绑定邮箱和手机立即绑定
  • 在上面的截图中最下面的两个写法是错误的,上面的写法是正确的
    查看全部
    0 采集 收起 来源:[C++]isA

    2017-08-01

  • soldier继承了person,就算soldier里面的play方法有参数,person的play方法没参数,他们也不可以形成重载。简单的说: soldier.play(7);调用的是soldier里面的play方法 soldier.play();还是调用不了父类的play方法,只能通过soldier.person::play()来调用
    查看全部
  • 注意:在#include的时候,如果是include “aaa.h”,则aaa.h是自己创建的文件,如果是<aaa.h>就是系统自带的头文件。
    查看全部
  • 在继承关系中,假设子类有一个函数名字叫play(),父类也有一个函数名叫play(),那么子类的函数会把父类的隐藏起来,例如soldier继承了person,那么: soldier.play()就只会调用子类的play方法, soldier.Person::play()则调用的是父类的play方法。
    查看全部
    0 采集 收起 来源:[C++]隐藏

    2017-08-01

  • 在继承方式中,曾经讲过三种继承方式,public,private,protect 在public继承方式中,父类的public里面的成员去到子类中仍然是public,而父类protect则还是protect。 在protect继承方式中,父类的public里面的成员去到子类中就变成protect,而父类protect则还是protect。 在private继承方式中,父类的public里面的成员去到子类中就变成private,而父类protect也是在子类中变成private。
    查看全部
  • private和protect在继承时的区别: 子类通过protect继承了父类的时候,子类可以通过自己来访问父类的数据成员。 子类通过private继承了父类的时候,子类不能通过自己来访问父类的数据成员,父类的数据成员只有通过自己才能访问。
    查看全部
    0 采集 收起 来源:[C++]公有继承

    2017-07-31

  • private继承:public成员只能被private继承一次,被继承后属于private,不可以被对象直接访问; protected成员只能被private继承一次,被继承后属于private,不可以被对象直接访问; private成员不能被private继承。 protected继承:public成员可以一直protected继承下去,被继承后属于protected,不可以被对象直接访问; protected成员可以一直protected继承下去,被继承后属于protected,不可以被对象直接访问; private成员不能被protected继承。 public继承:public成员可以一直public继承下去,被继承后属于public,可以被对象直接访问; protected成员可以一直public继承下去,被继承后属于protected,不可以被对象直接访问; private成员不能被public继承
    查看全部
  • 虚继承的用处就是实例化后的对象只有一份基类的数据。very important
    查看全部
  • 公有继承时,派生类在访问基类的保护数据成员时要通过函数去访问,不能用对象直接访问。private不能继承、类外不能访问,protected能继承,类外不能访问,public能继承、类外能访问。总结:权限:类外访问 < 继承 < 类内访问。
    查看全部
  • 使用虚继承子类无法传递参数给父类,最底层的类使用父类的函数与默认值
    查看全部
  • 解决重定义(用宏定义): #ifndef XXX_H //假如没有定义xxx.h文件 #define XXX_H //那就定义xxx.h文件 ... #endif
    查看全部
  • 父类指针指向子类对象,普通析构函数无法释放子类所占堆空间
    查看全部
  • 父类指针喷不到子类特有的对象
    查看全部
    0 采集 收起 来源:[C++]isA

    2017-07-29

  • 指向派生类的指针不能用基类赋值
    查看全部
    0 采集 收起 来源:[C++]isA

    2017-07-29

  • #include <iostream> #include <stdlib.h> #include <string> using namespace std; /** * 定义人类: Person * 数据成员: m_strName * 成员函数: attack() */ class Person { public: string m_strName; void attack() { cout << "attack" << endl; } }; /** * 定义士兵类: Soldier * 士兵类公有继承人类 * 数据成员: m_strName * 成员函数: attack() */ class Soldier:public Person { public: string m_strName; void attack() { cout << "fire!!!" << endl; } }; int main(void) { // 实例士兵对象 Soldier soldier; // 向士兵属性赋值"tomato" soldier.m_strName = "tomato"; // 通过士兵对象向人类属性赋值"Jim" soldier.Person::m_strName = "Jim"; // 打印士兵对象的属性值 cout << soldier.m_strName << endl; // 通过士兵对象打印人类属性值 cout << soldier.Person::m_strName << endl; // 调用士兵对象方法 soldier.attack(); // 通过士兵对象调用人类方法 soldier.Person::attack(); return 0; }
    查看全部
    0 采集 收起 来源:巩固练习

    2018-03-22

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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