设计案例——点和圆的关系
生活随笔
收集整理的這篇文章主要介紹了
设计案例——点和圆的关系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
point.h
#pragma once #include <iostream>using namespace std;//點類 x y class Point{ public://設置xvoid setX(int x);//獲取xint getX();//設置yvoid setY(int y);//獲取yint getY(); private:int m_X;int m_Y; };point.cpp
#include "point.h" void Point::setX(int x){m_X = x;} //獲取xint Point::getX(){return m_X;} //設置yvoid Point::setY(int y){m_Y = y;} //獲取yint Point::getY(){return m_Y;}circle.h
#pragma once #include <iostream> #include "point.h" using namespace std; class Circle{ public://設置半徑 void setR(int r);//獲取半徑 int getR();//設置圓心void setCenter(Point center);//獲取圓心Point getCenter(); private:int m_R;Point m_Center;};circle.cpp
#include "circle.h"void Circle::setR(int r){m_R = r;}//獲取半徑 int Circle::getR(){return m_R;}//設置圓心void Circle::setCenter(Point center) {m_Center = center;}//獲取圓心Point Circle::getCenter(){return m_Center;}main.cpp
#include <iostream> #include "circle.h" #include "point.h" using namespace std;void isInCircle(Circle c,Point p){//計算點到圓心的距離的平方 distanceint distance = (c.getCenter().getX() - p.getX())*(c.getCenter().getX() - p.getX()) + (c.getCenter().getY()-p.getY())* (c.getCenter().getY()-p.getY());//計算圓的半徑的平方 rDistance int rDistance = c.getR()*c.getR();//比較兩者的大小 if(distance > rDistance){cout << "點在圓外" << endl;}else if(distance < rDistance){cout << "點在圓內" << endl;}else{cout << "點在圓上" << endl;} } int main(){ Point center;center.setX(10);center.setY(0);Circle c;c.setR(10);c.setCenter(center);Point p;p.setX(10);p.setY(9);isInCircle(c,p);}總結:
1、類的申明和類的函數實現分開寫,類的申明寫在頭文件里面,類的函數實現寫在源文件里面。
2、在寫函數的時候要注意函數的作用域,不是全局函數。通過::將它們變為某個類的成員函數。
總結
以上是生活随笔為你收集整理的设计案例——点和圆的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类和对象——封装
- 下一篇: 类和对象—对象特性—构造函数和析构函数