winfrom中,我map shape定义多边形了一个point类(x,y),又map shape定义多边形了一个shape类,请问,怎么求多边形的周长和求有几条边

在point类基础上设计一个圆类,该类可以表示圆的位置(point类对象)和大小(半径)可以计算圆的面积和周长 C+用C++做 重谢!
麻花疼不疼5445
  class circle  {  private:  //圆心  //半径  public:  circle(point p,double q)//类的构造函数  {  this->center.x=p.x;  this->center.y=p.y;  radius=q;  }  double area()//面积计算  {  return 3.14*radius*  }  double girth()//周长计算  {  return 2*3.14*  }  };
为您推荐:
其他类似问题
扫描下载二维码编写程序:1.定义一个Point类来处理三维点points(x,y,z编写程序:1.\x09定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy constructor,一negate()成员函数将point的x,y和z值各乘-1,一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值.2.定义一个Person类,它的每个对象表示一个人.数据成员必须包含姓名、出生年份、死亡年份,一个默认的构造函数,一析构函数,读取数据的成员函数,一个print()成员函数显示所有数据.3.定义一个Shape基类,由它派生出Rectanglr和Circle类,二者都有GetArea( )函数计算对象的面积.使用Rectangle 类创建一个派生类Square.4.定义一个Shape抽象类,由它派生出Rectanglr和Circle类,二者都有GetArea( )函数计算对象的面积,GetPerim( ) 函数计算对象的周长.
城妹子☆0306
编写程序:1.\x09定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy constructor,一negate()成员函数将point的x,y和z值各乘-1,一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值.答:#include #include class Point{ public:Point(float x=0,float y=0,float z=0):x_(x),y_(y),z_(z) { }Point(const Point& p) :x_(p.x_),y_(p.y_),z_(p.z_) { }void negate() { x_ *= -1; y_ *= -1; z_ *= -1; }double norm() { return sqrt(x_*x_ + y_*y_ + z_*z_); }void print(){ cout
为您推荐:
其他类似问题
扫描下载二维码point类的设计 C++(1)定义Point类,能够设置、获取并打印出点的X、Y坐标,要求声明在Point.h中,实现在Point.cpp中.(2)定义Circle类,能够设置、获取并打印出圆心(X、Y坐标)和半径,并能够判断两个圆的位置是相交、想离还是相切.同样声明在Circle.h中,实现在Circle.cpp中.(3)在main.cpp中定义main函数,并完成上述要求的功能.----------------------------------分别写出Point.h,Point.cpp,Circle.h,Circle.cpp,main.cpp的内容.
爱刷hPH42JG64
如果把point 类 和circle 类分开来写是不明智的写法,因为circle类和point类拥有共同的特点,都有一个点,circle类只是多了半径出来,所以circle类应该是point的派生类.于是头文件point.h如下:#ifndef POINT_H_#define POINT_H_#include#includeclass Point{private:double x,y;public:Point(double a,double b):x(a),y(b){}double Get_Point_X()const{};double Get_Point_Y()const{};void Reset_Point(double c,double d){x=c;y=d;};void Print_Point(){cout
为您推荐:
其他类似问题
扫描下载二维码5302人阅读
编程小作业(79)
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 完成日期:
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述:1)先建立一个Point(点)类,包含数据成员x,y(坐标点);
(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员 (半径);
(3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高)。
要求编写程序,设计出各类中基本的成员函数(包括构造函数、析构函数、修改数据成员和获取数据成员的公共接口、用于输出的重载运算符“&&”函数等),使之能用于处理以上类对象,最后求出圆格柱体的表面积、体积并输出
* 程序输出:
* 程序头部的注释结束
#include &iostream&
class Point
Point(double x=0,double y=0);
//构造函数
void setPoint(double,double);
//设置坐标值
double getX( ) const {}
double getY( ) const {}
friend ostream & operator&&(ostream &,const Point &);//重载运算符“&&”
protected:
//受保护成员
double x,y;
//Point的构造函数
Point::Point(double a,double b)
//设置x和y的坐标值
void Point::setPoint(double a,double b)
ostream & operator&&(ostream &output,const Point &p)
output&&&[&&&p.x&&&,&&&p.y&&&]&&&
class Circle:public Point
//circle是Point类的公用派生类
Circle(double x=0,double y=0,double r=0);
//构造函数
void setRadius(double);
//设置半径值
double getRadius( )
//读取半径值
double area ( )
//计算圆面积
friend ostream &operator&&(ostream &,const Circle &);//重载运算符“&&”
protected:
//定义构造函数,对圆心坐标和半径初始化
Circle::Circle(double a,double b,double r):Point(a,b),radius(r){ }
//设置半径值
void Circle::setRadius(double r)
//读取半径值
double Circle::getRadius( ) const
//计算圆面积
double Circle::area( ) const
return 3.14159*radius*
//重载运算符“&&”,使之按规定的形式输出圆的信息
ostream &operator&&(ostream &output,const Circle &c)
output&&&Center=[&&&c.x&&&, &&&c.y&&&], r=&&&c.radius&&&, area=&&&c.area( )&&
class Cylinder:public Circle
Cylinder (double x=0,double y=0,double r=0,double h=0);//构造函数
void setHeight(double);
//设置圆柱高
double getHeight( )
//读取圆柱高
double area( )
//计算圆表面积
double volume( )
//计算圆柱体积
friend ostream& operator&&(ostream&,const Cylinder&);//重载运算符“&&”
protected:
//定义构造函数
Cylinder::Cylinder(double a,double b,double r,double h) :Circle(a,b,r),height(h){}
//设置圆柱高
void Cylinder::setHeight(double h)
//读取圆柱高
double Cylinder::getHeight( ) const
//计算圆柱表面积
double Cylinder::area( ) const
return 2*Circle::area( )+2*3.14159*radius*
//计算圆柱体积
double Cylinder::volume() const
return Circle::area()*
//重载运算符“&&”
ostream &operator&&(ostream &output,const Cylinder& cy)
output&&&Center=[&&&cy.x&&&,&&&cy.y&&&], r=&&&cy.radius&&&, h=&&&cy.height
&&&\narea=&&&cy.area( )&&&, volume=&&&cy.volume( )&&
int main( )
Cylinder cy1(3.5,6.4,5.2,10);
cout&&&\noriginal cylinder:\nx=&&&cy1.getX( )&&&, y=&&&cy1.getY( )&&&, r=&
&&cy1.getRadius( )&&&, h=&&&cy1.getHeight( )&&&\narea=&&&cy1.area()
&&&,volume=&&&cy1.volume()&&
cy1.setHeight(15);
cy1.setRadius(7.5);
cy1.setPoint(5,5);
cout&&&\nnew cylinder:\n&&&cy1;
system(&pause&);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:171938次
积分:3044
积分:3044
排名:第7953名
原创:129篇
评论:26条
(10)(5)(5)(1)(1)(18)(1)(5)(13)(17)(23)(36)在point类基础上设计一个圆类,该类可以表示圆的位置(point类对象)和大小(半径)可一计算圆的面积和周长_百度知道
在point类基础上设计一个圆类,该类可以表示圆的位置(point类对象)和大小(半径)可一计算圆的面积和周长
提问者采纳
14159*&#47:public Point
/这里是公用成员;&#47:
float area();
&#47.14159*radius*&#47:
//在类外定义成员函数{
return 2*3;半径}float C&#47:area()
float radius,也可以设为protected
int x:circum()
&#47:;X轴坐标}float C声明基类是Point{/在类外定义成员函数{
return 3;Y轴坐标}class C计算圆周长的成员函数
/计算圆面积的成员函数
float circum()class Point{public
其他类似问题
为您推荐:
point的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 geom point shape 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信