1、只写在一个文件里时的代码
//案例2-点和圆的关系 class point//点类 { private: int m_x;//x坐标 int m_y;//y坐标 public: //设置x void setx(int x) { m_x = x; } //获取x int getx() { return m_x; } //设置y void sety(int y) { m_y = y; } //获取y int gety() { return m_y; } }; class cirle//圆类 { private: int m_r;//半径 point m_center;//圆心 public: //设置半径 void setr(int r) { m_r = r; } //获取半径 int getr() { return m_r; } //设置圆心 void setcenter(point center) { m_center = center; } //获取圆心 point getcenter() { return m_center; } }; //判断点和圆的关系 void isInCirle(Cirle&c, Point p) { //计算点到圆心之间的距离的平方 int distance = (c.getCenter().getX() - p.getX())*(c.getCenter().getX() - p.getX()) + (c.getCenter().getY() - p.getY())*(c.getCenter().getY() - p.getY()); //计算圆的半径 int Rdistance = c.getR()*c.getR(); if (distance == Rdistance) { cout << "点在圆上" << endl; } else if (distance > Rdistance) { cout << "点在圆外" << endl; } else { cout << "点在圆内" << endl; } } int main() { //创建圆 Cirle c1; c1.setR(10); Point center; center.setX(10); center.setY(0); c1.setCenter(center); //创建点 Point p; p.setX(10); p.setY(1); //判断关系 isInCirle(c1, p); }
2、分文件编写;
先建立一个头文件,命名为Point.h,放上类的成员变量和成员函数的声明;再建立一个Point.cpp的源文件写类中成员函数的具体实现,记得加上作用域。
//Point.h #pragma once #include<iostream> using namespace std; class Point//点类 { private: int m_X;//X坐标 int m_Y;//Y坐标 public: //设置X void setX(int X); //获取X int getX(); //设置Y void setY(int Y); //获取Y int getY(); };
//Cirle.h #pragma once #include<iostream> using namespace std; #include"Point.h"//因为Cirle类中含有Point类 class Cirle//圆类 { private: int m_R;//半径 Point m_Center;//圆心 public: //设置半径 void setR(int R); //获取半径 int getR(); //设置圆心 void setCenter(Point Center); //获取圆心 Point getCenter(); };
//Point.cpp #include"Point.h" void Point::setX(int X) { m_X = X; } //获取X int Point::getX() { return m_X; } //设置Y void Point::setY(int Y) { m_Y = Y; } //获取Y int Point::getY() { return m_Y; }
//Cirle.cpp #include"Cirle.h" void Cirle::setR(int R)//加上作用域 { m_R = R; } //获取半径 int Cirle::getR() { return m_R; } //设置圆心 void Cirle::setCenter(Point Center) { m_Center = Center; } //获取圆心 Point Cirle::getCenter() { return m_Center; }
3、在最后你要是实现的那个cpp文件里加上之前创建好的两个头文件就可以了。
#include"Cirle.h" #include"Point.h"