C++之------虚函数

时间:2023-03-09 18:36:24
C++之------虚函数

今天又是周日,公司工业区这里九月份每个周日都会停电一天。停电停网,是没法活的。我们直接去老大家。

老大当爸爸了,回家一段时间了.听说孩子出生就不乖,很折腾他爸妈,这小家伙新生命二代。也愿小家伙早日康复吧!

同事们最近玩Dota上瘾了,由于笔记本不够,他们直接把公司办公电脑搬到老大家打游戏。

C++之------虚函数(他们玩的不亦乐乎)C++之------虚函数

我没啥兴趣爱好,看了一部电影《放牛班的春天》,讲的是一些问题少年在一个伟大的老师的教育引导下慢慢成长

为优秀的人才的故事。其中一个成为伟大的音乐家。这部电影确实震撼心灵。一直在想我怎么没碰到这样伟大的老师。不过这确实是一部很教育人的教育片。C++之------虚函数

看完之后就看看代码,前几天一直对虚函数不太理解,今天专门看了看。

C++虚函数

在SmartOS中,virtual的关键字就是C++的虚函数定义

这里被virtual的关键字修饰的成员函数,就是虚函数

虚函数在被继承时被程序重新定义,它在使用的时候,他们都是通过同一个基类(父类)锁继承过来,他们的函数名也是一样的,但是他们的功能却不相同,这就是他的多态。

面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对应同一消息产生不同行为。在程序中消息就是调用函数,不同的行为就是指不同的实现方法,即执行不同的函数体。也可以这样说就是实现了“一个接口,多种方法”。

 protected:
GPIO_InitTypeDef gpio; // 用于配置端口的结构体对象 Port();
virtual ~Port(); void SetPort(Pin pin); // 单一引脚初始化
void SetPort(Pin pins[], uint count); // 用一组引脚来初始化,引脚组GPIOx由第一个引脚决定,请确保所有引脚位于同一组GPIOx
void SetPort(GPIO_TypeDef* group, ushort pinbit = GPIO_Pin_All); // 配置过程,由Config调用,最后GPIO_Init
virtual void OnConfig();