【C/C++学院】(5)面向对象编程练习--h和cpp分开编写
来源:互联网 发布:python idle无法运行 编辑:程序博客网 时间:2024/04/30 17:35
抽象一个点,一个圆,并判断点与圆的关系。(在圆内还是圆外)
h文件进行类的声明;
cpp文件为类的实现细节;主要注重的细节为:
在类外定义成员函数;
使用域作用符;
=================================================================================================================================
工程代码如下:
//MyCircle.h#pragma once#include"MyPoint.h"class MyCircle{public:void setCir(double x, double y, double r);public:char * judge(double x, double y);char * judge(MyPoint &p);private:double x1, y1; //圆心坐标double r1; //圆半径};
//MyPoint.h#pragma onceclass MyPoint{private:double x0, y0; //点坐标public:void setPoint(double x, double y);double getX0();double getY0();};
//MyCircle.cpp#include "MyCircle.h"void MyCircle::setCir(double x, double y, double r){x1 = x; y1 = y; r1 = r;}char* MyCircle::judge(double x, double y){double s = (x1 - x)*(x1 - x) + (y1 - y)*(y1 - y) - r1*r1;if (s > 0){return "在圆外";}else{return "在圆内";}}char* MyCircle::judge(MyPoint &p){double s = (x1 - p.getX0())*(x1 - p.getX0()) + (y1 - p.getY0())*(y1 - p.getY0()) - r1*r1;if (s > 0){return "在圆外";}else{return "在圆内";}}
//MyPoint.cpp#include "MyPoint.h"void MyPoint::setPoint(double x, double y){x0 = x;y0 = y;}double MyPoint::getX0(){return x0;}double MyPoint::getY0(){return y0;}
//MainTestClass.cpp#include "iostream"#include "MyCircle.h"#include "MyPoint.h"using namespace std;void main(){MyCircle c1;MyPoint p1;c1.setCir(2, 2, 3);p1.setPoint(1, 1);cout << c1.judge(p1.getX0(), p1.getY0()) << endl;cout << c1.judge(p1) << endl;system("pause");}
0 0
- 【C/C++学院】(5)面向对象编程练习--h和cpp分开编写
- 面向对象编程之.h和.cpp文件分开编写
- 【C/C++学院】(26)Oracle数据库编程--程序模板c/cpp
- 【C/C++学院】0817-递归汉诺塔 双层递归 /CPP结构体 /面向过程与面向对象的编程模式/类的常识共用体实现一个类的特征/QT应用于类以及类的常识
- .c和.h与.cpp解析
- .c .cpp .h
- C语言面向对象编程(四):面向接口编程
- C语言面向对象编程(四):面向接口编程
- C语言面向对象编程(四):面向接口编程
- Mix C Cpp (C和C++混合编程)
- Objective C 面向对象编程(二)
- 面向对象编程技术(c#)
- C语言面向对象编程
- C语言面向对象编程
- C语言面向对象编程
- C语言面向对象编程
- C的面向对象编程
- C语言面向对象编程
- cortex_m3_stm32嵌入式学习笔记(六):窗口看门狗实验(WWDG)
- Tomcat中配制在后台启动java jar包
- ffmpeg代码笔记1:获取MP4文件的时长
- 版本控制Android Studio不需要上传的文件
- Stanford Parser demo错误:Unsupported major.minor version 52.0 error
- 【C/C++学院】(5)面向对象编程练习--h和cpp分开编写
- 管理应用的内存
- 过河问题
- 技术人员的未来:做技术还是做管理?
- WIN32 API WNDCLASSEX style ->
- 电子传真在金融业务的应用
- Python机器学习库
- 为 httpclient 设置代理, 设置http头.
- Android性能优化典范