8.C++헤더 파일,.cpp 파일 간 의 조합 사용

2412 단어 C++
C++헤더 파일,.cpp 파일 간 의 조합 사용
(1)헤더 파일 과.h 파일 은 하나의 종 류 를 정의 하고 그 중의 구성원 함수 에 대해 설명 을 합 니 다.이 루어 지지 않 고 파일 이름 은 클래스 이름과 같 습 니 다.
/***************************************Point.h***************************************************/

#ifndef Point_h
#define Point_h

#include
using namespace std;

class Point
{
public:
	Point(float a = 0,float b=0);

	float get_x( ) const;//const    
	float get_y( ) const;
	void move(float a, float b);//   

	void print( ) const;

private:
	float x;
	float y;//      x     y  
};
#endif 


(2)원본 파일,즉.cpp 파일 로 클래스 의 구성원 함 수 를 실현 합 니 다.구조 함수 와 다른 함 수 를 포함 합 니 다.먼저 헤더 파일 을 가 져 오 려 면 구성원 함수 가 작 성 될 때 클래스 의 역할 영역 을 추가 해 야 합 니 다."Point:Point(float a,float b):x(a),y(b){}"목록 을 초기 화 할 때":"입 니 다.
#include "Point.h"

Point::Point(float a , float b ):x(a),y(b){}

float Point::get_x() const
{
	return x;
}

float Point::get_y() const
{
	return y;
}

//   
void Point::move(float a, float b)
{
	x += a;
	y += b;
}

void Point::print() const 
{
	cout << "(" << x << "," << y << ")" << endl;
}

(3)주 함수,main.cpp 파일,클래스 의 구성원 함수 구현 대상 의 일부 속성 을 호출 합 니 다.
        
```#include
#include
#include"Point.h"

float distance(const Point& p1, const Point& p2)
{
	float dx = p1.get_x() - p2.get_x();
	float dy = p1.get_y() - p2.get_y();
	return sqrt(dx*dx + dy*dy);
}

const Point middle(const Point& p1, const Point& p2)
{
	return Point((p1.get_x() + p2.get_x()) / 2, (p1.get_y() + p2.get_y()) / 2);
}

int main()
{
	Point p;
	Point q(1.0, 2.0);

	float dx, dy;
	cout << "        :";  p.print();
	cout << "        :";  q.print();
	cout << endl;
	//q = p;
	cout << "        ,        x,y      :";
	cin >> dx >> dy;
	p.move(dx, dy);

	cout << "            :"; p.print();
	cout << endl;

	cout << "        ,        x,y      :";
	cin >> dx >> dy;

	q.move(dx, dy);
	cout << "            :"; q.print();
	cout << endl;

	//  distance  
	cout << "         :" << distance(p, q) << endl;

	//  middle  
	cout << "          :" ;
	middle(p, q).print();//   
	cout << endl;

	return 0;
}

좋은 웹페이지 즐겨찾기