您的位置:控制工程论坛网论坛 » 嵌入式系统 » 虚函数的概念

happem

happem   |   当前状态:在线

总积分:70  2024年可用积分:0

注册时间: 2012-08-23

最后登录时间: 2012-09-11

空间 发短消息加为好友

虚函数的概念

happem  发表于 2012/8/23 14:22:55      1316 查看 0 回复  [上一主题]  [下一主题]

手机阅读

一般来说,虚成员函数可以满足对象的动态类型匹配的需要,一个定义良好的类层次结构应该为基类中声明的每个虚成员函数定义有意义的操作。然而事情并非总是这样美妙。

假设有一个家电电器管理系统,可以管理电扇、电视机等。为了能够实现统一管理,我们设计一个抽象基类HomeElectricDevice来定义一些公共操作。

Class HomeElectricDevice{

 Public:

   Virtual void Open()=0;    //打开

   Virtual void close()=0;    //关闭

   Virtual void Adjust(bool updown)=0;  //调节温度或者音量等。

  //other methods

 Private:

  //common attrbutes…….

}

在基类的下面有一些派生来管理不同的电器,如ElectricFan, Television,它们实现了抽象基类的方法,并增加了一些特殊的操作。

 Class ElectricFan:public HomeElectricDevice{   //电扇

   Public:

    Virtual void Open(){……}            //打开

    Virtual void Close(){…….}           //关闭

    Virtual void Adjust(bool updown){…..} //调节温度

    //…..

  Private:

    //attrbutes….

};

Class Television:public HomeElectricDevice{   //电视机

 Public:

    Virtual void Open(){……}            //打开

    Virtual void Close(){…….}           //关闭

Virtual void Adjust(bool updown){…..}    //调节音量

    //…..

Private:

 //attrbutes….

}

显然电扇和电视机有一些不同,例如电视机可以播放VCD而电扇不能。

源地址:http://www.lirenedu.org/index.php?ack=xinwen&id=1185 

1楼 0 0 回复