求一个面向对象的具有完整功能的C++程序 60行以上,包含类,派生类。

求一个面向对象的具有完整功能的C++程序60行以上,包含类,派生类。类中包含数据成员和成员函数,成员函数中包含构造函数。以及详解!详解!详解!60行到70行就行。谢谢各位... 求一个面向对象的具有完整功能的C++程序 60行以上,包含类,派生类。类中包含数据成员和成员函数,成员函数中包含构造函数。以及详解!详解!详解!60行到70行就行。谢谢各位大神了 展开
 我来答
物理公司的
2017-07-08 · TA获得超过5697个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1382万
展开全部
#include <string>
#include <iostream>
  
using namespace std;
  
class shape
{  
public:
    shape(){type="shape";name="shape";area=0;}
    virtual void showInfo(){cout<<type<<" "<<name<<" "<<area<<endl;};
    virtual double getArea()=0;
  
    string type;
    string name;
    double area;
};
class Rectangle:public shape
{
public:
    Rectangle():shape(){name="Rectangle";}
    Rectangle(double l,double w)
    {      
        name="Rectangle";
        length=l;
        width=w;
        area=length*width;
    }
    double getArea(){return area;}
private:
    double length;
    double width;
};
class Triangle:public shape
{
public:
    Triangle(){name="Triangle";}
    Triangle(double a,double b,double c)
    {      
        name="Triangle";
        length1=a;
        length2=b;
        length3=c;
        double p=(a+b+c)/2.0;
        area=p*(p-a)*(p-b)*(p-c);
    }
    double getArea(){return area;}
private:
    double length1;
    double length2;
    double length3;
};
class Circle:public shape
{
public:
    Circle(){name="Circle";}
    Circle(double r){name="Circle";radius=r;area=3.1415926*r*r;}
    double getArea(){return area;}
private:
    double radius;
};
void main()
{  
    Rectangle r(3,4);
    r.showInfo();
    Triangle t(3,4,5);
    t.showInfo();
    Circle c(3);
    c.showInfo();
    return ;
}
追问
可以给我说明一下类,派生类,数据函数,成员函数分别是哪些。 以及这个程序的作用是什么吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式