Point.h
클래스 정의
Point.cpp
클래스 맴버구현
main.cpp
클래스 멤버함수
길다란 main.cpp 파일 하나를
#include <iostream>
using namespace std;
class Point
{
public:
void Print();
Point();
Point(int initialX, int initialY);
Point(const Point& pt);
void SetX(int value)
{
if(value < 0) x=0;
else if (value > 100) x=100;
else x=value;
}
void SetY(int value)
{
if(value <0) y=0;
else if(value > 100) y=100;
else y=value;
}
int Getx() {return x;};
int GetY() {return y;};
private:
int x,y;
};
Point::Point(const Point& pt)
{
x = pt.x;
y = pt.y;
}
Point::Point(int initialX, int initialY)
{
SetX(initialX);
SetY(initialY);
}
Point::Point()
{
x=0;
y=0;
}
void Point::Print()
{
cout << "(" << x << "," << y << " )\n";
}
int main()
{
Point pt(-50 , 200);
pt.Print();
return 0;
}
Point.h 파일과
#ifndef POINT_H
#define POINT_H
class Point
{
public:
void Print();
Point();
Point(int initialX, int initialY);
Point(const Point& pt);
void SetX(int value)
{
if(value < 0) x=0;
else if (value > 100) x=100;
else x=value;
}
void SetY(int value)
{
if(value <0) y=0;
else if(value > 100) y=100;
else y=value;
}
int Getx() {return x;};
int GetY() {return y;};
private:
int x,y;
};
#endif
Point.cpp 파일과
#include "Point.h"
#include <iostream>
using namespace std;
Point::Point(const Point& pt)
{
x = pt.x;
y = pt.y;
}
Point::Point(int initialX, int initialY)
{
SetX(initialX);
SetY(initialY);
}
Point::Point()
{
x=0;
y=0;
}
void Point::Print()
{
cout << "(" << x << "," << y << " )\n";
}
Example.cpp 파일로 나눈다.
#include "Point.h"
int main()
{
Point pt(-50 , 200);
pt.Print();
return 0;
}
컴파일 할 때는 cl Point.cpp Example.cpp 이렇게 하면 된다.
화면 캡처: 2010-06-22, 오전 10:55
출력하는 것은 똑같고 파일 구성은 위에 그림과 같다.
어플개발할 때 헤더파일과 소스파일을 나눠서 할 때 왜 저렇게 하는지 궁금했었는데 결국 정리를 쉽게 하기 위해서 인 것 같다.
헤더파일에는 인라인 멤버함수도 넣어줘야 한다.
'About 프로그래밍!!! > C++' 카테고리의 다른 글
[C++]인라인 함수. (0) | 2010.06.22 |
---|---|
[C++]정적멤버 선언 및 초기화 (0) | 2010.06.22 |
[C++]정적멤버 선언 및 초기화 (0) | 2010.06.22 |
[C++] 과제 4 객체로 작성하기.(과제 4-1) (0) | 2010.06.21 |
[C++] 과제 4 객체로 작성하기. (0) | 2010.06.21 |