首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

继续关于C++中接口的一些认识,该怎么处理

2012-03-08 
继续关于C++中接口的一些认识上次发贴问了一下关于接口的的问题,有幸得到版主的回答,很是兴奋。在经过我一

继续关于C++中接口的一些认识
上次发贴问了一下关于接口的的问题,有幸得到版主的回答,很是兴奋。
在经过我一段时间思考觉得如下解释可能会好一点

C/C++ code
 class bulb  {    public:    virtual void on()=0;    virtual void off()=0;  };  class white_bulb :public bulb  {      public:          void on(){cout<<"from class white_bulb::on() \n";}          void off(){cout<<"from class y::off()\n";}            };class other_bulb :public bulb  {      public:          void on(){cout<<"from class other_bulb::on() \n";}          void off(){cout<<"from class other_bulb::off()\n";}            };  void use_bulb(bulb &s)  {      s.on();  }   int main(int argc, char *argv[]){        other_bulb o_bulbs;          use_bulb(o_bulbs);    system("PAUSE");        return 0;}

以前我以为public的函数就是接口。,经过原来做C#同时的“一连窜”打击现在觉得如下解释可能合理
bulb的两个函数on(),off()为该程序的接口,而other_bulb和white_bulb两个类里面的函数只是实现了接口的方法。
联系到其他语言如java,c#。在这些语言当中接口定义如下
C# code
interface bulb{   void on();   void off();}

自我感觉interface就应该是C/C++里面的抽象类(或者纯虚类),他们有一个共同的特点就是不能生成对象,只能被继承实现定义的接口。而C#中,继承类实现了接口叫做方法。感觉语言是相同的(就像地震时的大家一样。)因此在C/C++中,接口应该就是纯虚函数。这个书法不知道对不对。高人指点。谢谢

[解决办法]
非private函数即为接口。
要照你的说法,那C语言就别谈接口了?
不同的语言需要不同的定义。把C#里的东西硬拉到C++来那就成鬼扯了。

热点排行
Bad Request.