21xrx.com
2024-12-23 01:45:48 Monday
登录
文章检索 我的文章 写文章
C++继承和派生的实验
2023-06-22 02:21:05 深夜i     --     --
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++面向对象编程中非常重要的概念,可以让我们更加灵活地设计和实现程序,提高代码的复用性和可维护性。我们需要掌握继承的各种方式和用法,并根据实际情况选择最适当的方式来进行设计和开发。

  
  

评论区

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