본문 바로가기

[C++]복습 헤더 파일, 구현 파일 구분하기

반응형

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

   

출력하는 것은 똑같고 파일 구성은 위에 그림과 같다.

어플개발할 때 헤더파일과 소스파일을 나눠서 할 때 왜 저렇게 하는지 궁금했었는데 결국 정리를 쉽게 하기 위해서 인 것 같다.

   

   

헤더파일에는 인라인 멤버함수도 넣어줘야 한다.

   

   

   

   

   

   

   

   

   

   

   

반응형
-->