21xrx.com
2025-03-25 07:37:12 Tuesday
文章检索 我的文章 写文章
C++继承和派生的实验
2023-06-22 02:21:05 深夜i     11     0
C++ 继承 派生 实验

C++继承和派生是面向对象编程的核心概念之一,可以让程序员更加灵活地设计和实现程序。

在C++语言中,继承是指一个类可以派生出另一个类,被派生的类称为子类或派生类,继承它的类称为父类或基类。通过继承,子类可以直接访问父类的成员变量和成员函数,并且还可以扩充和修改父类的功能。

在进行继承时,常用的继承方式有三种:公共继承、私有继承和保护继承。公共继承是子类可以直接访问父类的公共成员,私有继承只能在子类中被访问,而保护继承允许子类和友元类访问父类的保护成员。

除了继承,C++还支持多继承和虚继承。多继承是指一个类可以同时继承多个父类,虚继承则是为了解决多继承带来的问题,避免出现菱形继承,在继承时使用了虚基类的概念。

下面以一个简单的例子来说明继承的基本用法:

#include <iostream>
using namespace std;
// 基类Shape
class Shape {
  public:
   void setWidth(int w)
     width = w;
   
   void setHeight(int h)
     height = h;
   
  protected:
   int width;
   int height;
};
// 派生类Rectangle
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;
}

以上代码定义了一个基类Shape和一个派生类Rectangle,派生类Rectangle继承了基类Shape的所有成员变量和成员函数,可以直接使用setWidth()和setHeight()函数设置宽和高,还可以使用getArea()函数计算矩形的面积。在主函数中,创建了一个Rectangle对象Rect,并调用了其成员函数getArea()来计算矩形面积并输出结果。

总的来说,继承和派生是C++面向对象编程中非常重要的概念,可以让我们更加灵活地设计和实现程序,提高代码的复用性和可维护性。我们需要掌握继承的各种方式和用法,并根据实际情况选择最适当的方式来进行设计和开发。

  
  

评论区

请求出错了