본문 바로가기

Code/C++

[C++] class & object/ private & public

class : 설계도, 추상적인것

실제를 만들기 위한 구상도 

fstream

 

 

object : 객체, 내 눈앞에 나타난것

설계도를 가지고 만들어낸 실제

myfile

 

Objectis an instance of aClass

#include <iostream>

using namespace std;

//private:리모컨의 트렌지스터,칩->class내부에서만 사용/외부에서 사용못함

//public: 리모컨의 버튼 -> class 내부, 외부 모두에서 사용가능

//setter: private 변수들의 값(내부)을 설정하는 함수

//getter: private 변수들을 외부로 반환

class point {

private: //사용자의 편의성 증대, 보안의 목적

        int x;

        int y;

public:

        void setXY(int _x, int _y) {

               x = _x;

               y = _y;

        }

        int getX() { return x; }

        int getY() { return y; }

        void print() {

               cout << "(" << x << ", " << y << ")" << endl;

        }

};

int main() {

        point pt1, pt2;

        //pt1.x = 10; 이러한방식으로 사용불가 x,y는 private 외부에서 접근불가하다

        pt1.setXY(10, 20); //public변수로서 외부에서 접근가능

        pt2.setXY(100, 200);

        pt1.print();

        cout << pt2.getX() << ", " << pt2.getY() << endl;

        return 0;

}

 

 

 

>>>

(10, 20)

100, 200


 

 

 

#include <iostream>

#include <string>

using namespace std;

class Point {

public:

        double x;

        double y;

};

int main() {

        Point pt1, pt2;

        pt1.x = 8.5;

        pt1.y = 0.0;

        pt2.x = -4;

        pt2.y = 2.5;

        cout << "pt1=(" << pt1.x << ", " << pt1.y << ")\n";

        cout << "pt2=(" << pt2.x << ", " << pt2.y << ")\n";

        pt1 = pt2;

        cout << "pt1=(" << pt1.x << ", " << pt1.y << ")\n";

        cout << "pt2=(" << pt2.x << ", " << pt2.y << ")\n";

        pt1.x = 0;

        cout << "pt1=(" << pt1.x << ", " << pt1.y << ")\n";

        cout << "pt2=(" << pt2.x << ", " << pt2.y << ")\n";

}

 

 

 

>>>

pt1=(8.5, 0)

pt2=(-4, 2.5)

pt1=(-4, 2.5)

pt2=(-4, 2.5)

pt1=(0, 2.5)

pt2=(-4, 2.5)

 

2차원 좌표계

클래스를 이용하면 나만의 새로운 데이터타입을 만들어낼 수 있다

인스턴스

 

 


 

해당 자료는 경희대학교 소프트웨어융합학과 배성호교수님 수업내용을 참조하였습니다.