c#编程问题

 我来答
nweibd
2016-05-23 · TA获得超过394个赞
知道小有建树答主
回答量:533
采纳率:54%
帮助的人:182万
展开全部
using System;

namespace subClassing
{
class Program
{
public static void Main(string[] args)
{
sphere sp = new sphere(10);
Console.WriteLine("球的表面积:{0}\t体积:{1}", sp.surface(), sp.volume());
cylinder cy = new cylinder(10, 8);
Console.WriteLine("圆柱的表面积:{0}\t体积:{1}", cy.surface(), cy.volume());
cone co = new cone(10, 10);
Console.WriteLine("圆锥的表面积:{0}\t体积:{1}", co.surface(), co.volume());
Console.ReadKey(true);
}
}

public class circle
{
public double radius { get; set; }
public circle() { }
public circle(double r) { radius = r; }
}

public class sphere : circle
{
public sphere() { }
public sphere(double r) : base(r) { }
public double surface() { return 4 * Math.PI * radius * radius; }
public double volume() { return surface() * radius / 3; }
}

public class cylinder : circle
{
public double height { get; set; }
public cylinder(){ }
public cylinder(double r, double h) : base(r) { height = h; }
protected double scircle() { return Math.PI * radius * radius; }
public virtual double surface() { return 2 * Math.PI * radius * height + 2 * scircle(); }
public virtual double volume() { return scircle() * height; }
}

public class cone : cylinder
{
public cone() { }
public cone(double r, double h) : base(r, h) {}
public override double surface() { return Math.PI * radius * Math.Sqrt ( radius * radius + height * height) + scircle(); }
public override double volume() { return scircle() * height / 3; }
}
}
小仓许梦梦
2016-05-22
知道答主
回答量:74
采纳率:0%
帮助的人:9.7万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式