21xrx.com
2025-06-28 20:55:40 Saturday
登录
文章检索 我的文章 写文章
C++中如何定义派生类?
2023-07-05 03:33:51 深夜i     38     0
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++支持多重继承,但是除非需要真正使用,否则不建议在代码中频繁使用。多重继承可能会导致复杂的继承关系和易错性高的代码。因此,在设计类的时候应该尽可能简化继承关系。

  
  

评论区