写一个程序,定义抽象基类Shape由它派出2个派生类:Circle (圆形),Rectangle(矩形),用一个函数printA 5

写一个程序,定义抽象基类Shape且由它派生出个2派生类:Circle(圆形),Rectangle(矩形),用一个函数printArea分别输出以上2者的面积,2个图形的... 写一个程序,定义抽象基类Shape且由它派生出个2派生类:Circle (圆形),Rectangle(矩形),用一个函数printArea分别输出以上2者的面积,2个图形的数据在定义对象时给定。

期待朋友的帮助,谢谢!期待有心的朋友们给予完整的回复的,谢谢了啦!考试用!急
展开
 我来答
程序猿3号
推荐于2018-03-13 · TA获得超过1811个赞
知道小有建树答主
回答量:1029
采纳率:33%
帮助的人:766万
展开全部
#include <iostream>
using namespace std;

#define PI 3.14159

class Shape {
public:
virtual void printArea() = 0;
};

class Circle : public Shape 闹渗{
public:
Circle(float Radius) {
mRadius = Radius;
}
void printArea() {
cout<<"The Circle's Area 液正脊is "<<PI*mRadius*mRadius<<endl;
}
private:
float mRadius;
};

class Rectangle : public Shape {
public:
Rectangle(float Length, float Height) {
mLength = 清数Length;
mHeight = Height;
}
void printArea() {
cout<<"The Rectangle's Area is "<<mLength*mHeight<<endl;
}
private:
float mLength, mHeight;
};

int main() {
Circle mCircle(2.0);
mCircle.printArea();

Rectangle mRectangle(3.0, 4.0);
mRectangle.printArea();
}

看看这个符合不

来淘好宝
2013-08-10
知道答主
回答量:18
采纳率:0%
帮助的人:23.5万
展开全部
//下面是C++版,因为腊友比较轮枝槐简单,所以成员函数直接就在类内定义了
#include<iostream>
using namespace std;
#define pi 3.14
class Shape//定义抽象基类,搭行仅供继承用
{
virtual void printArea()=0;//纯虚函数
};

class Circle:Shape
{
private:
double radi;
public:
Circle(double ra)
{radi=ra;}
void printArea()
{cout<<"圆的面积为:"<<pi*radi*radi<<endl;}
};

class Rectangle:Shape
{
private:
double height;
double length;
public:
Rectangle(double hei,double len)
{height=hei;length=len;}
void printArea()
{cout<<"矩形的面积为:"<<height*length<<endl;}
};

void main()
{
Circle cir(4);
Rectangle rect(5,4);
cir.printArea();
rect.printArea();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c92a370b57
2013-08-08
知道答主
回答量:21
采纳率:0%
帮助的人:5.8万
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    abstract class  Shape
    {
      返陪旅  public abstract void printArea()
        { 
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Circle:Shape
    {
        public Circle(double r,double r1)
        {
            this.R1 = r;
            this.R2 = r1;
       乱高 }
        private const double R = 3.14;

        private double r1;

        public double R1
        {
            get { return r1; }
            set { r1 = value; }
        }
    漏凳    private double r2;

        public double R2
        {
            get { return r2; }
            set { r2 = value; }
        }
        public  void printArea()
        {
            double result = R1 * R2 * R;
            Console.Write(result);
        }
    }
}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApplication1

{

    class Rectangle:Shape

    {

        public Rectangle(double length, double width)

        {

            this.Length = length;

            this.Width = width;

        }

        private double length;


        public double Length

        {

            get { return length; }

            set { length = value; }

        }

        private double width;


        public double Width

        {

            get { return width; }

            set { width = value; }

        }

        public override void printArea()

        {

            double result = this.Width * this.length;

            Console.Write(result);

        }

    }

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式