VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C/C++语言编程 >
  • C++教程之多重继承(Multiple inheritance)

 

多重继承(Multiple inheritance)

在C++ 中,一个class可以从多个class中继承属性或函数,只需要在子类的声明中用逗号将不同基类分开就可以了。例如,如果我们有一个特殊的class COutput 可以实现向屏幕打印的功能,我们同时希望我们的类CRectangle 和 CTriangle 在CPolygon 之外还继承一些其它的成员,我们可以这样写:
class CRectangle: public CPolygon, public COutput {
class CTriangle: public CPolygon, public COutput {
以下是一个完整的例子:
    // multiple inheritance
    #include <iostream.h>
    
    class CPolygon {
      protected:
        int width, height;
      public:
        void set_values (int a, int b)
          { width=a; height=b;}
    };
    
    class COutput {
      public:
        void output (int i);
    };
    
    void COutput::output (int i) {
        cout << i << endl;
    }
    
    class CRectangle: public CPolygon, public COutput {
      public:
        int area (void)
          { return (width * height); }
    };
    
    class CTriangle: public CPolygon, public COutput {
      public:
        int area (void)
          { return (width * height / 2); }
    };
    
    int main () {
        CRectangle rect;
        CTriangle trgl;
        rect.set_values (4,5);
        trgl.set_values (4,5);
        rect.output (rect.area());
        trgl.output (trgl.area());
        return 0;
    }                     
20
10

相关教程