精华内容
下载资源
问答
  • #include  using namespace std;   ...const float PI = (float)3.14159;...class Shape{ public:  virtual float CalCircumference()=0;  virtual float CalArea()=0; };   //
    #include <iostream>
    using namespace std;
     
    const float PI = (float)3.14159;
     
    class Shape{
    public:
        virtual float CalCircumference()=0;
        virtual float CalArea()=0;
    };
     
    //圆形
    class Roundness: public Shape{
    public:
        Roundness(float r):radius(r)
        {}
         
        virtual float CalCircumference()
        {
            return 2 * PI * radius;
        }
         
        virtual float CalArea()
        {
            return PI * radius * radius;
        }
    private:
        float radius;
    };
     
    //正方形
    class Square: public Shape{
    public:
        Square(float w):width(w)
        {}
         
        virtual float CalCircumference()
        {
            return 4 * width;
        }
         
        virtual float CalArea()
        {
            return width * width;
        }
    private:
        float width;
    };
     
    //长方形
    class Rectangle: public Shape{
    public:
        Rectangle(float w, float h):width(w), hight(h)
        {}
         
        virtual float CalCircumference()
        {
            return 2 * (width + hight);
        }
         
        virtual float CalArea()
        {
            return hight * width;
        }
    private:
        float width;
        float hight;
    };
     
    void main()
    {
        Shape* roud = new Roundness(3);
        Shape* squ = new Square(3);
        Shape* rang = new Rectangle(3, 4);
     
        cout<<"圆形的周长:"<<roud->CalCircumference()<<" 面积:"<<roud->CalArea()<<endl;
        cout<<"正方形的周长:"<<squ->CalCircumference()<<" 面积:"<<squ->CalArea()<<endl;
        cout<<"长方形的周长:"<<rang->CalCircumference()<<" 面积:"<<rang->CalArea()<<endl;
     
    }
    展开全文
  • 定义一个公共基类Shape,它表示一个封闭平面几何图形。 然后,从Shape类派生出三角形类Triangle、矩形类Rectangle和圆类Circle, 在基类中定义纯虚函数show和area,分别用于显示图形信息和求相应图形的面积, 并...
    定义一个公共基类Shape,它表示一个封闭平面几何图形。
    然后,从Shape类派生出三角形类Triangle、矩形类Rectangle和圆类Circle,
    在基类中定义纯虚函数show和area,分别用于显示图形信息和求相应图形的面积,
    并在派生类中根据不同的图形实现相应的函数。要求实现运行时的多态性。
    #include <cmath>
    #include<iostream>
    using namespace std;
    const double PI = 3.1415926535;
    class Shape
    { public:
    virtual  void show( ) = 0;
    virtual  double area( ) = 0;
     };
    class Rectangle: public Shape
    {public:
    Rectangle( ){length = 0; width = 0; } 
    Rectangle(double len, double wid){ length = len; width = wid; }
    double area( ){return length*width;} 
    void show( )
    { cout << "length = " << length << '\t' << "width = " << width << endl; } 
    private:
    double length, width; 
    };
    class Triangle: public Shape
    {public:
    Triangle( ){a = 0; b = 0; c = 0;}
    Triangle(double x, double y, double z){a = x; b = y; c = z;}
    double area( )
    {  double s = (a+b+c)/2.0;
       return sqrt(s*(s - a)*(s - b)*(s - c));
    }
    void show( )
    {cout << "a = " << a << '\t' << "b = " << b << '\t' << "c = " << c << endl;}
    private:
    double a, b, c; 
    };
    class Circle: public Shape
    {public:
    Circle( ){radius = 0; }
    Circle(double r){radius = r;}
    double area( ){return PI*radius*radius;} 
    void show( ){cout << "radius =" << radius << endl;}
    private:
    double radius;
    };
    int main( )
    {    Shape *s = NULL;
    Circle c(10);
    Rectangle r(6, 8);
    Triangle t(3, 4, 5);
    c. show( );
    cout << "圆面积:" << c.area( ) << endl;
    s = &r;
    s -> show( );
    cout << "矩形面积:" << s -> area( ) << endl;
    s = &t;
    s -> show( );
    cout << "三角形面积:" << s -> area( ) << endl;
    return 0;
    }
    展开全文
  • C+编程:编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Cricle(圆形),Square(正方形), Rectangle(矩形), Trapezoid (梯形),Triangle(三角形)。用虚函数分别计算图形面积,并求所有图形面积的和.要求用...

    C+编程:编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Cricle(圆形),Square(正方形), Rectangle(矩形), Trapezoid (梯形),Triangle(三角形)。用虚函数分别计算图形面积,并求所有图形面积的和.要求用基类指针数组,使它的每一个元素指向一个派生类对象。

    以下是此题的【c++源代码】

    #include

    using namespace std;

    //定义抽象基类Shape

    class Shape

    {public:

    virtual double area() const =0;                                //纯虚函数

    };

    //定义Circle(圆形)类

    class Circle:public Shape

    {public:

    Circle(double r):radius(r){}                                     //结构函数

    virtual double area() const {return 3.14159*radius*radius;};   //定义虚函数

    protected:

    double radius;                                                 //半径

    };

    //定义Square(正方形)类

    class Square:public Shape

    {public:

    Square(double s):side(s){}                                     //结构函数

    virtual double area() const {return side*side;}                //定义虚函数

    protected:

    double side;

    };

    //定义Rectangle(矩形)类

    class Rectangle:public Shape

    {public:

    Rectangle(double w,double h):width(w),height(h){}               //结构函数

    virtual double area() const {return width*height;}              //定义虚函数

    protected:

    double width,height;                                           //宽与高

    };

    //定义Trapezoid(梯形)类

    class Trapezoid:public Shape

    {public:

    Trapezoid(double t,double b,double h):top(t),bottom(t),height(h){} //结构函数

    virtual double area() const {return 0.5*(top+bottom)*height;}      //定义虚函数

    protected:

    double top,bottom,height;                                          //上底、下底与高

    };

    //定义Triangle(三角形)类

    class Triangle:public Shape

    {public:

    Triangle(double w,double h):width(w),height(h){}                //结构函数

    virtual double area() const {return 0.5*width*height;}          //定义虚函数

    protected:

    double width,height;                                            //宽与高

    };

    int main()

    {

    Circle circle(12.6);                                             //建立Circle类对象circle

    Square square(3.5);                                              //建立Square类对象square

    Rectangle rectangle(4.5,8.4);                                    //建立Rectangle类对象rectangle

    Trapezoid trapezoid(2.0,4.5,3.2);                                //建立Trapezoid类对象trapezoid

    Triangle triangle(4.5,8.4);                                      //建立Triangle类对象

    Shape *pt[5]={&circle,&square,&rectangle,&trapezoid,&triangle};

    //定义基类指针数组pt,使它每一个元素指向一个派生类对象

    double areas=0.0;                                                //areas为总面积

    for(int i=0;i<5;i++)

    {areas=areas+pt[i]->area();}

    cout<

    return 0;

    }

    展开全文
  • 编写一个程序,声明抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数pritArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。以下是此题的【c++源代码...

    编写一个程序,声明抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数pritArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。

    以下是此题的【c++源代码】

    #include

    using namespace std;

    //定义抽象基类Shape

    class Shape

    {public:

    virtual double area() const =0;            //纯虚函数

    };

    //定义Circle类

    class Circle:public Shape

    {public:

    Circle(double r):radius(r){}                                     //结构函数

    virtual double area() const {return 3.14159*radius*radius;};   //定义虚函数

    protected:

    double radius;                                                 //半径

    };

    //定义Rectangle类

    class Rectangle:public Shape

    {public:

    Rectangle(double w,double h):width(w),height(h){}               //结构函数

    virtual double area() const {return width*height;}              //定义虚函数

    protected:

    double width,height;                                           //宽与高

    };

    class Triangle:public Shape

    {public:

    Triangle(double w,double h):width(w),height(h){}                //结构函数

    virtual double area() const {return 0.5*width*height;}          //定义虚函数

    protected:

    double width,height;                                            //宽与高

    };

    //输出面积的函数

    void printArea(const Shape &s)

    {cout<

    int main()

    {

    Circle circle(12.6);                                             //建立Circle类对象circle

    cout<

    printArea(circle);                                               //输出circle的面积

    Rectangle rectangle(4.5,8.4);                                    //建立Rectangle类对象rectangle

    cout<

    printArea(rectangle);                                            //输出rectangle的面积

    Triangle triangle(4.5,8.4);                                      //建立Triangle类对象

    cout<

    printArea(triangle);           //输出triangle的面积

    return 0;

    }

    展开全文
  • #include<iostream> #include<string>...class Shape { public: Shape() {} virtual ~Shape(){} virtual float getArea() const { return 0; } }; //长方形 class Rectangle :publi...
  • 一个程序,定义抽象基类Shape,由它派生出5个派生类,Cirle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求他们的和。要求用基类指针...
  • 一个程序,定义抽象基类Shape,由它派生出3个派生类,Cirle(圆形、Rectangle(矩形)、Triangle(三角形)。用一个函数printArea 分别输出以上三者的面积,3个图形的数据在定义对象时给定、 #include<...
  • * (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:设计一个抽象基类,生出三个派生类。* 作 者: 雷恒鑫* 完成日期: 2012 年 05月...
  • 一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。 #include using ...
  • 【简答题】第五次讨论:讨论题目参见课程网站第五次讨论PPT。 请把你讨论回答的ppt上传到这里。【多选题】脑对刺激物各种属性和各个部分的整体反映被称为( )【简答题】(1)编写程序,要求输入若干...【简答题】(8) 定义...
  • /* * 程序的版权和版本声明部分 ... * All rightsreserved. * 文件名称: object.cpp * 作者:赵 洋 ...* 完成日期: 2013年 5 月 31...* 问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)
  • 习题 12.4 写一个程序,定义抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。...
  • 一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三只的面积,3个图形的数据在定义对象时给出。 解答:  代码...
  • 习题 12.5 写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle、Square、Rectangle、Tarpezoid、Triangle。用虚函数分别计算几种图形面积,并求它们的和。要求用基类指针数组,使它的每一个元素指向一个...
  • 编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求它们的和。要求用基类...
  • /* ...*All rights reserved. *文件名称:main.cpp ...*问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出
  • 【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类, Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。 用如下的mian()函数,求出定义的几个几何体的面积和。 */ /* (程序头部注释开始) * 程序...
  • 【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类, Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。 用如下的mian()函数,求出定义的几个几何体的面积和。 */ /* (程序头部注释开始) * 程序...
  • 【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体的面积和。 int main() {  Circle c1(12.6)...
  • 编写程序,定义抽象基类Shape(形状),由它派生出3派生类: Circle(圆形)、Rectangle(矩形)和Square 正止方形),用函数函数ShowArea()分别显示各种图形的面积,最后还要显示所有图形的总面积。要求用基类指针数组,...
  • 定义抽象基类Shape,由它派生出五派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)和Triangle (三角形),用虚函数分别计算各种图形的面积,输出它们的面积和。要求用基类...
  • /* ... * All rights reserved. * 作 者:李慧慧 * 完成日期:2013 年 6 月 4 日 ...* 问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类, *Circle(圆形)、Rectangle(矩形)、Triangle(三角形
  • 声明抽象基类Shape,由它派生出3个派生类:Circle,Rectangle,Triangle,用一个printArea函数分别输出以上三者的面积,3个图形的数据在定义对象时给定。 #include using namespace std; class Shape { public: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 390
精华内容 156
关键字:

定义一个基类shape