| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 605 人关注过本帖
标题:C++ 点类 求助
取消只看楼主 加入收藏
aoyue
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
C++ 点类 求助
我是c++新手,想用c++,封装一个点类。具体实现点x、y坐标的加、减、乘、除、位移、旋转等功能。不知如何下手,请大家指导下,或者那位帮我写下,大致格式,我参照下。谢谢
搜索更多相关主题的帖子: 旋转 如何 
2010-11-05 22:05
aoyue
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-4
收藏
得分:0 
经过摸索,现在已经大体写好了,好请朋友,看看,看有什么不妥之处。

#include <iostream>
#include <math.h>

using namespace std;

class Point
{
private:
        double xval, yval;
public:
    Point(double x=0.0, double y=0.0)
    {
        xval = x;
         yval = y;
    }
  
    double x() { return xval; }
    double y() { return yval; }
}
  
    double dist(Point other)  //距离
    {
        double xd = xval - other.xval;
        double yd = yval - other.yval;
        return sqrt(xd*xd + yd*yd);
    }                                                            
    Point add(Point b)  //加
    {
        return Point(xval + b.xval, yval + b.yval);
    }
    Point sub(Point b)  //减
    {
        return Point(xval - b.xval, yval- b.yval);
    }
    Point mul(Point b)  //乘
    {
        return Point(xval * b.xva + yval * b.yval);
    }
    Point div(Point b)  //除
    {
        return Point(xval - b.xval, y - b.yval);
    }
    void move(double a, double y)  //移动
    {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        xval += a;
        yval += b;
    }
    void rotate(double x1, double y1)  //平面内旋转
    {  
       double a;
       //(x, yi)*(cosa, isina)=(x1,y1i)
       //即:(x1,y1(xcosa-ysina,i(sina+ycosa))
       x1 = xcosa - ysina;
       y1 = xsina + ycosa;
       return Point(x1, y1);
      
    }
}
2010-11-06 19:09
aoyue
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-4
收藏
得分:0 
呵呵,谢谢楼楼上那个的夸奖。我明天就要上交导师了。楼上有没有什么补充的呢?
2010-11-06 23:33
快速回复:C++ 点类 求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011872 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved