类的声明与类的实现分开 点和圆
来源:互联网 发布:fast迅捷网络fwr200 编辑:程序博客网 时间:2024/06/06 02:48
设计一个圆形类(AdvCircle),和一个点类(Point),计算点在圆内部还是圆外
point.cpp
circle.h
即:求点和圆的关系(圆内和圆外)
point.h
#ifndef __POINT_H__#define __POINT_H__class Point{public:// 设置点的坐标void setXY(int x, int y);int getX();int getY();// 求当前的点和另一个点的距离的平方int distance(Point &p);private:int m_x; // x的坐标int m_y; // y的坐标};
point.cpp
#include "Point.h"void Point::setXY(int x, int y){m_x = x;m_y = y;}int Point::getX(){return m_x;}int Point::getY(){return m_y;}int Point::distance(Point &p){int dis = (m_x - p.getX())*(m_x - p.getX()) + (m_y - p.getY()) * (m_y - p.getY());// int dis = (m_x - p.m_x)*(m_x - p.m_x) + (m_y - p.m_y) * (m_y - p.m_y);return dis;}
circle.h
#ifndef __CIRCLE_H__#define __CIRCLE_H__#include "Point.h"class Circle{public:void setCircle(int r, int x, int y);bool inCircle(Point &p);private:int m_r; // 半径Point m_rp; // 圆心};#endif // __CIRCLE_H__circle.cpp
#include "Circle.h"void Circle::setCircle(int r, int x, int y){m_r = r; // 设置半径m_rp.setXY(x, y); // 设置圆心}bool Circle::inCircle(Point &p){if (m_rp.distance(p) <= m_r*m_r) // 点p 到 圆心的长度小于等于半径return true;elsereturn false;}main.cpp
#include <stdio.h>#include "Circle.h"#include "Point.h"int main(){Circle c;c.setCircle(20, 20, 20);Point p;p.setXY(10,20);if (c.inCircle(p)){printf ("在圆内\n");}else{printf ("在圆外\n");}return 0;}
阅读全文
0 0
- 类的声明与类的实现分开 点和圆
- 类的声明和类的实现分开
- C++中类的声明和类的实现分开
- 将类的声明和实现分开的实例
- 不能将类模板的声明与实现分开写
- 将模板类声明和实现分开
- 【面向对象程序设计常见面试题】类的声明和实现的分开的好处?
- C++中,类和函数分开定义声明和实现的方法
- 为什么不能将类模板的声明与类模板函数实现分开写
- 为什么不能将类模板的声明与类模板函数实现分开写
- 为什么不能将类模板的声明与类模板函数实现分开写?
- 模板类:函数实现(.cpp)和函数声明(.h)分开的问题
- 模板类和模板函数的声明和定义分开文件写的方法
- 类的声明与实现
- 类的声明和实现
- 类的声明和实现
- 类的声明和实现
- c++模板类/模板函数的声明与定义应该放在头文件里,不要分开来写类中函数的声明与定义
- php函数-list函数
- Java学习笔记之线程(三):线程的安全问题和解决办法
- 用java语言实现事件委托模式
- Android编译ffmpeg
- 程序员最喜欢的15款文本编辑器推荐
- 类的声明与类的实现分开 点和圆
- otter单向同步实践问题小结
- 300.8判断平年还是闰年
- ajax请求service报405【服务器不允许的方法】
- 12-高阶函数
- python引用同一包中其他.py文件的类
- python基础知识之列表
- 新闻更新时通过微信提醒(以SJTU奖学金信息为例)
- TypeError