21xrx.com
2024-12-22 20:37:05 Sunday
登录
文章检索 我的文章 写文章
C++中如何定义派生类?
2023-07-05 03:33:51 深夜i     --     --
C++ 定义 派生类

在C++中,派生类是从基类中派生得到的类。派生类可以从一个或多个基类继承属性和方法,并且可以添加自身的新属性和方法。

定义派生类的语法如下:


class DerivedClass : accessSpecifier BaseClass

  // New members

;

其中,`DerivedClass`是派生类的名称,`accessSpecifier`可以是`public`、`protected`或`private`中的一个,用于指示基类成员的访问权限。`BaseClass`则是派生类从中继承成员的类名。

接下来,派生类可以定义新的成员变量和成员函数,这些新成员对于派生类来说是独特的。

下面是一个简单的例子,演示了如何定义一个派生类:


// 基类

class Shape {

  public:

    void setWidth(int w)

      width = w;

    

    void setHeight(int h)

      height = h;

    

  protected:

    int width;

    int height;

};

// 派生类

class Rectangle: public Shape {

  public:

    int getArea() {

      return (width * height);

    }

};

int main() {

  Rectangle Rect;

  Rect.setWidth(5);

  Rect.setHeight(7);

  cout << "Total area: " << Rect.getArea() << endl;

  return 0;

}

在上述代码中,`Rectangle`是一个从`Shape`类派生的新类。它继承了`Shape`类的属性`width`和`height`,并且添加了一个新的成员函数`getArea()`来计算矩形的面积。

通过在`public`访问说明符之后加上`Shape`,我们表明`Rectangle`从`Shape`派生而来,并且`Shape`的成员变量和方法可以在`Rectangle`中使用。

虽然C++支持多重继承,但是除非需要真正使用,否则不建议在代码中频繁使用。多重继承可能会导致复杂的继承关系和易错性高的代码。因此,在设计类的时候应该尽可能简化继承关系。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复