21xrx.com
2024-11-03 21:53:10 Sunday
登录
文章检索 我的文章 写文章
C++ 多态性实验报告
2023-07-05 05:03:09 深夜i     --     --
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++中的多态性,同时也加强了对继承与多态性的的理解与实现。

  
  

评论区

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