1. 程式人生 > 其它 >c++中函式分檔案編寫簡單小例子

c++中函式分檔案編寫簡單小例子

技術標籤:小練習c++

函式分檔案編寫四步驟:
1.建立字尾名為.h的標頭檔案 2.建立字尾名為.cpp的原始檔
3.在標頭檔案中寫函式的宣告 4.在原始檔中寫函式的定義

判斷某點在某圓的位置
建立dot.h標頭檔案,只需對各變數和函式進行宣告即可

#pragma once//防止標頭檔案重複包含
class dot
{
private:
	double x;
	double y;
public:
	void setx(double a);
		double getx();
		void sety(double b);
		double gety();
};

建立dot.cpp原始檔,寫出函式具體實現方式即定義

#include"dot.h"
//以下函式都為dot類的成員函式,所以需要指明作用域即dot::函式名
	void dot::setx(double a)
	{
		x = a;
	}
	double dot::getx()
	{
		return x;
	}
	void dot::sety(double b)
	{
		y = b;
	}
	double dot::gety()
	{
		return y;
	}

同理寫出圓的circle.h標頭檔案和circle.cpp原始檔

#pragma once//防止標頭檔案重複包含
#include<iostream>
#include"dot.h" using namespace std; class circle { private: dot d; double r; public: void setd(dot dd); dot getd(); void setr(double c); double getr(); void f(double a, double b); };
#include"circle.h"
	void circle::setd(dot dd)
	{
		d = dd;
	}
	dot circle::getd()
	{
		return
d; } void circle::setr(double c) { r = c; } double circle::getr() { return r; } void circle::f(double a, double b) { double l = (a - d.getx()) * (a - d.getx()) + (b - d.gety()) * (b - d.gety()); if (l == r * r) cout << "點在圓上" << endl; else if (l < r * r) cout << "點在圓內" << endl; else cout << "點在圓外" << endl; }

主函式進行呼叫即可

#include<iostream>
using namespace std;
#include"circle.h"
//#include"dot.h"//由於circle.h中包含了dot.h標頭檔案,此處可以不包含,但最好加上
int main()
{
	dot d;//點
	d.setx(3);
	d.sety(0);

	dot p;//圓心
	p.setx(0);
	p.sety(0);

	circle c;//圓
	c.setr(2);
	c.setd(p);

	c.f(d.getx(), d.gety());
	return 0;
}

執行結果: