-
定义一个基类shape,实现正方形,矩形,圆类
2015-11-05 18:36:50#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;
}
-
7.30定义一个公共基类Shape,实现运行时的多态性
2014-08-29 18:46:48定义一个公共基类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;
} -
java 定义抽象基类shape_由它派生出三个派生类_编写一个程序,定义抽象基类Shape,由它派生出5个派生类:...
2021-03-13 12:29:12C+编程:编写一个程序,定义抽象基类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;
}
-
java 定义抽象基类shape_由它派生出三个派生类_编写一个程序,声明抽象基类Shape,由它派生出3个派生类:...
2021-03-13 12:29:13编写一个程序,声明抽象基类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;
}
-
继承与派生练习:定义一个基类Shape,在次基础上派生出Rectangle和Circle。二者都有GetArea()函数计算对象...
2019-09-04 17:21:50#include<iostream> #include<string>...class Shape { public: Shape() {} virtual ~Shape(){} virtual float getArea() const { return 0; } }; //长方形 class Rectangle :publi... -
写一个程序,定义抽象基类Shape,由它派生出5个派生类
2011-03-20 19:09:19写一个程序,定义抽象基类Shape,由它派生出5个派生类,Cirle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求他们的和。要求用基类指针... -
写一个程序,定义抽象基类Shape,由它派生出3个派生类
2011-03-20 19:11:31写一个程序,定义抽象基类Shape,由它派生出3个派生类,Cirle(圆形、Rectangle(矩形)、Triangle(三角形)。用一个函数printArea 分别输出以上三者的面积,3个图形的数据在定义对象时给定、 #include<... -
java 定义抽象基类shape_由它派生出三个派生类_第13周实验--任务3--定义抽象基类Shape,由它派生出3个派生...
2021-03-13 12:29:16* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:设计一个抽象基类,生出三个派生类。* 作 者: 雷恒鑫* 完成日期: 2012 年 05月... -
写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
2016-10-06 16:06:19写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。 #include using ... -
Java的cubeShape_(8) 定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和...
2021-03-17 19:28:33【简答题】第五次讨论:讨论题目参见课程网站第五次讨论PPT。 请把你讨论回答的ppt上传到这里。【多选题】脑对刺激物各种属性和各个部分的整体反映被称为( )【简答题】(1)编写程序,要求输入若干...【简答题】(8) 定义... -
定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle
2013-05-31 19:14:29/* * 程序的版权和版本声明部分 ... * All rightsreserved. * 文件名称: object.cpp * 作者:赵 洋 ...* 完成日期: 2013年 5 月 31...* 问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形) -
习题 12.4 写一个程序,定义抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、...
2018-09-24 15:52:04习题 12.4 写一个程序,定义抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。... -
例题:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、...
2018-09-23 13:53:36写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三只的面积,3个图形的数据在定义对象时给出。 解答: 代码... -
习题 12.5 写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle、Square、Rectangle、Tarpezoid、...
2018-09-24 17:56:17习题 12.5 写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle、Square、Rectangle、Tarpezoid、Triangle。用虚函数分别计算几种图形面积,并求它们的和。要求用基类指针数组,使它的每一个元素指向一个... -
编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle...
2020-06-19 22:44:02编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求它们的和。要求用基类... -
写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle...
2016-06-01 13:59:26/* ...*All rights reserved. *文件名称:main.cpp ...*问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出 -
《C++第十三周实验报告3-1》---定义抽象基类Shape,由它派生出3个派生类
2012-05-15 15:13:51【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类, Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。 用如下的mian()函数,求出定义的几个几何体的面积和。 */ /* (程序头部注释开始) * 程序... -
《C++第十三周实验报告3-1》---定义抽象基类Shape,由它派生出3个派生类...
2012-05-15 15:13:00【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类, Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。 用如下的mian()函数,求出定义的几个几何体的面积和。 */ /* (程序头部注释开始) * 程序... -
第十三周【任务三】【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、...
2012-05-15 15:48:41【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体的面积和。 int main() { Circle c1(12.6)... -
cpp课程设计实验题:编写程序,定义抽象基类Shape(形状),由它派生出3个派生类: Circle(圆形)、Rectangle...
2020-05-19 16:30:48编写程序,定义抽象基类Shape(形状),由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)和Square 正止方形),用函数函数ShowArea()分别显示各种图形的面积,最后还要显示所有图形的总面积。要求用基类指针数组,... -
7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、...
2020-06-14 08:21:25定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)和Triangle (三角形),用虚函数分别计算各种图形的面积,输出它们的面积和。要求用基类... -
14周项目2:抽象基类shape
2013-06-04 09:25:05/* ... * All rights reserved. * 作 者:李慧慧 * 完成日期:2013 年 6 月 4 日 ...* 问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类, *Circle(圆形)、Rectangle(矩形)、Triangle(三角形 -
Chapter12——声明抽象基类Shape,由它派生出3个派生类:Circle,Rectangle,Triangle,用一个printArea函数...
2017-05-09 16:33:16声明抽象基类Shape,由它派生出3个派生类:Circle,Rectangle,Triangle,用一个printArea函数分别输出以上三者的面积,3个图形的数据在定义对象时给定。 #include using namespace std; class Shape { public: ...