21xrx.com
2025-06-12 15:32:12 Thursday
登录
文章检索 我的文章 写文章
C++ 多态性实验报告
2023-07-05 05:03:09 深夜i     13     0
C++ 多态性 实验报告 编程语言 面向对象编程

C++是一种面向对象的编程语言,其中多态性是其一个重要的特性。在C++中,多态性是指相同函数名的函数可以根据不同的数据类型、不同的对象调用不同的函数。本实验旨在通过编写C++程序,加深对多态性的理解。

实验环境:

- 操作系统:Windows 10

- 编译器:Visual Studio 2019

实验步骤:

首先,我们定义一个基类Shape,包含一个成员函数area(),计算图形面积。

class Shape{
public:
  virtual float area()=0; //纯虚函数
};

然后,我们定义两个派生类Circle和Rectangle,分别计算圆形和矩形的面积,并重写基类的area()函数。

class Circle:public Shape{
public:
  float radius;
  Circle(float r)
    radius=r;
  
  float area(){
    return 3.14*radius*radius;
  }
};
class Rectangle:public Shape{
public:
  float length,width;
  Rectangle(float l,float w)
    length=l;
    width=w;
  
  float area(){
    return length*width;
  }
};

接下来,在主函数中创建一个指向基类的指针,然后分别用Circle和Rectangle类创建对象,并通过指针调用area()函数,实现多态性。

int main(){
  Shape *s; //指向基类的指针
  Circle c(5);
  Rectangle r(3,4);
  s=&c;
  cout<<"圆形面积:"<<s->area()<<endl;
  s=&r;
  cout<<"矩形面积:"<<s->area()<<endl;
  return 0;
}

程序运行结果如下:

圆形面积:78.5
矩形面积:12

通过本实验,我们深入理解了C++中的多态性,同时也加强了对继承与多态性的的理解与实现。

  
  

评论区