![d6c060648919b6aacac771f7fb7cffe8.png](https://img-blog.csdnimg.cn/img_convert/d6c060648919b6aacac771f7fb7cffe8.png)
开始
在第三节我们实现了读取网络proto的基本流程,但是有一个功能没有实现,就是我们在实例化Layer的时候,其实是实例化了父类的Layer,并没有实例化子类的Layer,这样后面就没法调用子类Layer的方法.在上一节,我们实现了squeezenet中用到的所有子类Layer,所以在这一节,我们就实现如何对在读取网络proto的时候,智能的实例化不同的子类Layer.
我们继续插上新的小红旗:
![47ff2d4faef8c105f9d6e12e65a7dc3b.png](https://img-blog.csdnimg.cn/img_convert/47ff2d4faef8c105f9d6e12e65a7dc3b.png)
作用
其实父类Layer的目的,就是为了能够利用C++中的多态和重载机制,然后智能化的实例化不同的子类Layer.
在上一节中,我们实现的子类Layer,有些自己的方法,又会继承父类Layer的方法.这样就可以优雅的用同一个接口去调用不同子类Layer的不同功能.
实现
由于在load_proto中,代表该Layer属于哪个子类的标识只有layer_type这个char*的标