C++ Prime Plus 第13章 类继承

//TODO 公有继承 基类的公有成员将成员派生类的公有成员,基类的私有部门也将成为派生类的一部分,但只能通过基类的公有和保护方法访问
//TODO 创建派生类对象时,程序首先调用基类构造函数,然后再调用派生类构造函数 派生类对象过期时,程序将首先调用派生类的析构函数,然后再调用基类析构函数
//TODO 派生类对象可以使用基类的方法,条件是方法不是私有的
//TODO 基类指针可以在不进行显示类型转换的情况下指向派生类对象;基类引用可以在不进行显示类型转换的情况下引用派生类对象
//TODO 基类& rf = 派生类 基类* pt = &派生类
//TODO 基类指针或引用只能用于调用基类方法,不可以将基类对象或地址赋给派生类引用和指针
//TODO 多态公有继承:方法的行为随上下文而异 两种重要的机制可以用于实现多态公有继承
//TODO ①在派生类中重新定义基类的方法
//TODO ②使用虚方法
//TODO 没有使用关键字virtual,程序将根据引用类型或者指针类型选择方法;如果使用了virtual程序将根据引用或者指针指向的对象的类型选择方法
//TODO 例如基类A,派生类B都定义了add方法 不加virtual
//TODO A a(); B b(); A& a1 = a;A& a2 = b;当分别调用add方法是调用的始终是基类的add
//TODO 但是加了virtual后就会根据对象的类型识别到底调用的是谁的add方法
//! 如果要在派生类中重新定义基类的方法,通常应将基类方法声明为虚的.为基类声明一个虚析构函数也是一种惯例
//TODO 如果析构函数不是虚的,只调用对应与指针类型的析构函数
//TODO virtual关键字只需要在类声明中定义
//TODO 将派生类引用或者指针转换为基类引用或指针被称为向上强制转换,是不需要进行显示类型转换的
//TODO 相关过程-将基类指针或引用转换为派生指针或引用称为向下强制转换,如果不适用显示转换,是不允许的.
//TODO 编译器对非虚方法使用静态联编,对虚方法使用动态联编(默认静态联编)
//TODO 虚函数的工作原理 504-504页 虚函数地址表
//TODO 访问控制权限 protected 对于外部世界来说,保护成员的行为与私有成员相似;但对于派生类来说,保护成员的行为与公有成员相似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值