写在一个文件中main.cpp
#include <iostream>
#include <cmath>
#include "Point.h"
#include "ManagerPoint.h"
using namespace std;
int main()
{
Point p1(3.0, 4.0), p2(6.0, 8.0);
p1.Getxy();
p2.Getxy();
ManagerPoint mp;
double d = mp.Distance(p1, p2);
cout << "Distance is" << d << endl;
return 0;
}
多文件写法 Point.h
#pragma once
#include "ManagerPoint.h"
class Point
{
public:
Point(double xx, double yy);
void Getxy();
friend double ManagerPoint::Distance(Point& a, Point& b);
private:
double x, y;
};
Point.cpp
#include "Point.h"
#include <iostream>
using namespace std;
Point::Point(double xx, double yy)
{
x = xx;
y = yy;
}
void Point::Getxy()
{
cout << "(" << x << "," << y << ")" << endl;
}
ManagerPoint.h
#pragma once
class Point;
class ManagerPoint
{
public:
double Distance(Point& a, Point& b);
};
ManagerPoint.cpp
#include "ManagerPoint.h"
#include <cmath>
#include "Point.h"
double ManagerPoint::Distance(Point& a, Point& b)
{
double dx = a.x - b.x;
double dy = a.y - b.y;
return sqrt(dx * dx + dy * dy);
}
|