21xrx.com
2024-12-27 19:48:09 Friday
登录
文章检索 我的文章 写文章
C++类的多重继承:PTA6-3
2023-06-22 09:39:40 深夜i     --     --
C++ 多重继承 PTA6-3

在C++中,我们可以使用多重继承来实现一个类同时继承多个不同的基类。在PTA题目“PTA6-3”中,我们需要设计一个类,这个类需要同时继承两个基类,并实现一些相关的函数。

首先,我们需要定义两个基类,一个是Shape类,一个是Ploygon类。Shape类有一个纯虚函数area(),表示该类所代表的图形的面积值;Ploygon类有一个数组变量sides[],表示该类所代表的多边形的各条边的长度。

接下来,我们需要设计类Rectangle,它需要同时继承Shape和Ploygon两个基类。Rectangle类需要实现area()函数和readData()函数。其中,readData()函数需要读取用户输入的矩形的长和宽,并将其存储在sides[]数组中;area()函数需要计算矩形的面积,并返回结果。

代码如下:


#include<iostream>

using namespace std;

class Shape{

public:

  virtual double area()=0;

};

class Polygon{

public:

  double sides[2];

};

class Rectangle: public Shape, public Polygon{

public:

  void readData(){

    cin>>sides[0]>>sides[1];

  }

  double area(){

    return sides[0]*sides[1];

  }

};

int main(){

  Rectangle r;

  r.readData();

  cout<<r.area()<<endl;

  return 0;

}

在类Rectangle中,我们使用public关键字同时继承Shape和Polygon两个基类。接着,实现了readData()函数,用于读取用户输入的数据并存储到sides[]数组中。最后,在area()函数中计算矩形面积,该函数会返回计算结果。

在主函数中,我们创建了Rectangle类的对象r,通过readData()函数获取用户输入的数据,并通过调用area()函数来计算矩形的面积并将结果输出。

以上就是我们在“PTA6-3”题目中所使用的多重继承的基本实现方法。通过这种技术,我们可以轻松实现一个类同时继承多个不同的基类,并实现相关的函数。

  
  

评论区

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