20200112

课余关注复试信息

数据驱动法

ML

两周总结

吴恩达课程学完已经算比较好了,时间不够
保证CPP课程质量,尤其是项目相关知识要扎实
有余力可以继续学数学尤其是概率论课程,吴恩达课程相关代数知识也要补足

反向传播算法

参考深度学习课程相关部分

预习多态继承

多态:

虚函数的特点:在基类/派生类的定义与重载
非成员/静态/内联/构造/友元不能设为虚函数
派生类在定义时加基类列表/类派生列表
声明时不加

访问虚函数:

指针:非虚函数判断指针类型
虚函数判断所指对象类型

引用:类似指针
但一经声明则变量变化不会改变调用函数

构造与析构:
优先调用本类中函数,次而调用基类中函数,不会调用其他派生类函数

纯虚函数

只在基类中声明,且加**=0**,称为抽象基类,不能创建抽象基类对象
派生类必须各自给出定义

另一种抽象类方式:构造函数全部为protected

一般析构函数要定义为虚函数

重载:发生在同一个类中,函数名称相同,但参数的类型、个数、顺序不同。

覆盖:发生在父子类中,同名虚函数,参数亦完全相同。(同名数据成员也有隐藏)

隐藏:发生在父子类中,指的是在某些情况下,派生类中的函数屏蔽了基类中的同名函数。

多基派生结论:
多重继承(带虚函数)

  1. 每个基类都有自己的虚函数表
  2. 派生类如果有自己的虚函数,会被加入到第一个虚函数表之中
  3. 覆盖基类的虚函数,只有第一个虚函数表中存放的是真实的被覆盖的函数的地址;其它的虚函数表中存放的并不是真实的对应的虚函数的地址,而只是一条跳转指令

虚基类

// 结论一:单个虚继承,不带虚函数 
// 虚继承与继承的区别
// 1. 多了一个虚基指针 
// 2. 虚基类位于派生类存储空间的最末尾

// 结论二:单个虚继承,带虚函数 
// 1. 如果派生类没有自己的虚函数,此时派生类对象不会产生虚函数指针 
// 2. 如果派生类拥有自己的虚函数,此时派生类对象就会产生自己本身的虚函数指针,
//	  并且该虚函数指针位于派生类对象存储空间的开始位置

多重继承和虚拟继承对象模型较单一继承复杂的对象模型,造成了成员 访问低效率,表现在两个方面:对象构造时 vptr 的多次设定,以及 this
指针的调整。

关机
https://blog.csdn.net/heibaikong6/article/details/95865721

发布了8 篇原创文章 · 获赞 0 · 访问量 115

猜你喜欢

转载自blog.csdn.net/weixin_44323639/article/details/103943111