반응형
본문 바로가기

지식창고/프로그래밍

(25)/h
(C++)friend키워드란? 의미 : A와 B라는 클래스가 있다고 가정을 하면, 서로 클래스 내부(클래스 내에서 정의된 함수)에서만 접근허용을 하게 하는 private 영역에도 접근을 가능 할 수 있게 해주는 역할을 하게 됩니다. 사용방법은 역시나 예제를 간단히 들고 왔습니다- 함수의 friend 선언. #include using namespace std; class Test { private: int num; public: Test() { num = 5; } void ShowData() const { cout
(C++)mutable 키워드란? 의미 : 상수함수에서 값을 입력 받기 위하여 예외적으로 값을 받아오라는 뜻 입니다. 어떻게 사용하냐구요? 당연히 간단한 예제 들고 왔습니다~ #include using namespace std; class Test { private: mutable int x; //mutable 키워드를 통하여Ï 상수화 된 변수를 바꾸지 못하게 하는 //제한을 예외적으로 해제 해줌. int y; public: void SetData(int a, int b) const { x = a; //x는 mutable로 선언되어 있으므로 가능. y = b; //y는 일반 변수로 선언 되어있기 때문에 아래와 같은 에러가 발생 //error C3490: 'y'은¨(는) const 개체를 통해 액세스되고 있으므로 //수정할 수 없습니다. ..
(C++)explicit 키워드란? 의미 : 묵시적인 타입 변환을 하지 않고 명시적으로 타입 변환을 하였을 경우에만 사용하겠다는 뜻 입니다. 예제를 간단하게 작성해보았습니다~ 사용 방법 #include using namespace std; class SoSimple { private: int num1; int num2; public: SoSimple(int n1, int n2) :num1(n1), num2(n2) { } SoSimple(SoSimple &copy) :num1(copy.num1), num2(copy.num2) { cout
(C++)c++의 함수오버로딩이란? 함수오버로딩은 똑 같은 이름을 가진 함수를 여러 개를 만든다는 것 입니다. 즉 test()함수가 존재하는데 또 하나 test(int n1)과 같이 test라는 이름을 가진 함수를 여러 개를 만들어 준다고 보시면 되겠습니다. 단, 함수오버로딩은 함수의 이름 뿐이 아닌 매개 변수의 정보까지 참조하게 되며, 이 함수오버로딩은 c에서는 안되고, c++에서 지원해주는 편리한 기능이라는 점 명심해두세요-. 단, 함수의 이름만 같다고 해서 조건이 충족되는 것이 아닌 바로 함수의 자료형이 같은지도 보며, 자료형이 같고 함수이름이 같지만 받아 들이는 매개 변수의 정보에 따라 정보가 처리된다는 점입니다. 여기서도 뭐다? 백마디의 말보다 행동이다- 그렇기 때문에 간단한 예를 들어 코드를 작성하여 보겠습니다. //함수 오버로..
(C, C++)c, c++에서 참조자란? 변수에 별명을 붙여주는 것을 참조자라 하는데, 더 쉽게 표현을 해보자면 일상생활을 할 때 사람마다 각자 친구나 주변사람들에 의해 별명으로 불리는 경우가 있습니다. 바로 이와 같다고 생각을 하면 된다. (더 무슨 말인지 모르게 되셨나요? ㅜㅜ...) 즉, A라는 사람이 평소에 느리적느리적 행동을 한다 하여 주변사람들이 그 A라는 사람에게 ‘거북이’라는 별명을 붙여주게 되었고, A라는 사람도 자신이 아는 사람들이 ‘거북아!’라고 불러도 대답한다는 점에서 같다고 설명을 할 수 있겠습니다. 역시 말로 설명하는 것보다 소스를 통하여 설명하여 보겠습니다. #include using namespace std; int main(void) { int num1 = 1; int &num2 = num1; //참조자의 표시는 ..
(C)namespace키워드의 사용방법과 의미 의미 : 일명 ‘이름공간의 별칭을 지정한다’ 라고도 말하지만, 쉽게 친한 사람끼리 별명을 불러 생활하듯이 코딩에서도 별명을 주어 쉽게 불러올 수 있게 하겠다는 것으로 이해하는 것이 편하지 않을까 합니다. 사용방법 #include using namespace std; namespace Test { int num1; int num2; namespace Test2 { int num3; int num4; } } int main(void) { Test::num1 = 10; //범위(영역)지정연산자 :: 를 사용하여 위치를 알려줌. Test::num2 = 20; cout
(C++)inline함수란 무엇인가 의미 : 코드를 라인 안에 넣는다는 뜻 입니다. 사용 예시는 다음과 같습니다. #include inline int in_puls(int n1, int n2) { return n1 + n2; } inline int in_minus(int n1, int n2) { return n1 - n2; } inline int in_multiply(int n1, int n2) { return n1 * n2; } inline double in_divided(int n1, int n2) { return n1 / n2; } using namespace std; int main(void) { //쉬운 예로 기존에서는 계산기와 같은 간단한 프로그램을 할 때 항상 곱해서 //값을 받아주는 변수, 나눠서 값을 받아주는 변수 더해서 ..
C, C++의 static키워드 static은 사용되는 대상에 따라 의미가 약간씩 다르다. 각각의 의미와 사용방법, 사용하는 이유 특성 등에 대해 설명하여 보겠습니다. static은 정적으로 사용하겠다는 뜻을 가지고 있는 키워드입니다. 예를 들어, 지역변수의 경우 함수가 종료될 시 값이 소멸 되지만, static 키워드를 자료 형 앞에 사용해주게 되면, 값이 소멸되지 않고 계속적으로 사용이 가능하다는 것 입니다. 즉, 지역변수를 전역변수의 성격을 지닐 수 있게 해준다는 것 입니다. (1).일반적인 C언어 자료형의 지역변수. int test(); int main(void) { for(int i = 0; i < 10; i++) { cout

반응형