본문 바로가기

c++39

24. [C++] static과 const 멤버 C 프로그래밍 언어의 const C프로그래밍 언어에서 const는 변수를 상수값으로 만든느, 즉 변수의 값을 수정할 수 없도록 만드는 용도로 사용된다. 다름 사례를 한 번 살펴보자 c프로그램 예시 : 이렇게 컴파일 오류가 발생한다. const로 설정된 변수는 초기값이 설정되어 있는지의 여부에 상관없이 값의 수정이 불간으하다. const로 설정된 포인터의 경우에도 값을 변경하거나 기존에 설정된 내용을 변경하게 되면 컴파일시에 에러가 발생하게 된다. C++프로그래밍 언어의 const 멤버 변수 C++ 프로그래밍 언어에서도 const는 값을 변경하게 되면 이와 같은 문제가 발생하게 된다. 위의 사항을 살펴보기 위해서 다음과 같이 ConstClass라느 클래스를 생성하고 멤버 변수에 const를 적용해보자. 실.. 2023. 1. 21.
23. [C++] friend 클래스 , friend 멤버 함수 프랜드 클래스 클래스간에 멤버에 자유롭게 접근할 필요가 있을 경우 클래스를 플랜드로 지정하여 사용할 수 있다. 실습 6-2 #include using namespace std; class Position { friend class Color;//Position과 Color클래스는 서로 friend private: int cx, cy, cr; public: Position(int m_x, int m_y, int m_r) { cx = m_x; cy = m_y; cr = m_r; } }; class Color { private: int r, g, b; public: Color(int m_r, int m_g, int m_b) {//생성자 r = m_r; g = m_g; b = m_b; } void GetInfo.. 2023. 1. 21.
22. [C++] friend 커피 머신으로 커피를 내려 마실 때 우리가 알아야 하는 것은 커피를 내리는 방법이지 커피 머신의 내부 동작이나 상세 구조를 반드시 알 필요는 없다. 사용자가 몰라도 되는 불필요한 정보 혹은 사용자가 함부로 건드릴 경우 위험한 정보는 숨기고 필요한 최소한의 정보만으로 객체를 쉽게 사용할 수 있도록 하는 것이 정보 은폐이다. 1. 멤버 함수의 가시성 객체지향 프로그래밍에서도 필요한 기능만 공개하고 몰라도 되는 부분은 숨겨서 객체를 설계한다. c++언어에서는 private, public, protected같은 접근 지정자를 이용하여 클래스의 정보 은폐 기능, 누구를 숨길지 누구를 공개할지 등을 구성할 수 있다. 공개된 멤버는 외부에서 자유롭게 접근할 수 있지만 공개되지 않은 멤버를 읽으려고 하면 컴파일 과정에.. 2023. 1. 20.
[C++] 2가지 call by reference(주솟값, 참조자 이용) call by reference : 참조에 의한 호출 : 메모리 주솟값을 넘기는 방식 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } call by reference variable : 참조자를 이용한 참조에 의한 호출 int a=1; int b=2; swap(a,b) void swap(int &a, int &b){ int temp=a; a=b; b=temp; } 이렇게 하면 call by reference와 같이 a와 b의 값이 실제로 바뀐다. C++에서 함수 외부에서 선언된 변수에 접근하는 두 가지 방식 - 주솟값을 이용한 Call-by-reference - 참조자를 이용한 Call-by-reference #include void s.. 2023. 1. 20.