[문과 코린이의 IT 기록장] C# - 데이터를 가공하는 연산자 (산술 연산자, 증감 연산자, 문자열 결합 연산자, 관계 연산자, 조건 연산자, null 조건부 연산자 (?.), null 병합 연산자 (??))
[문과 코린이의 IT 기록장] C# - 데이터를 가공하는 연산자 (산술 연산자, 증감 연산자, 문자열 결합 연산자, 관계 연산자, 조건 연산자, null 조건부 연산자 (?.), null 병합 연산자 (??)) 1. 산술 연산자 - 수치 형식의 데이터를 다루는 연산자이다. - 덧셈(+), 뺄셈(-), 나눗셈(/), 곱셈(*), 나머지(%) 기능 존재 ex ) 2. 증감연산자 - 증가연산자(++) : 피연산자의 값을 1 증가시킨다. - 감소연산자(--) : 피연산자의 값을 1 감소시킨다. * 증감연산자를 변수의 앞에 사용할 경우(전위증감연산자) : 변수의 값을 변경한 후에, 해당 문장이 실행된다. * 증감연산자를 변수의 뒤에 사용할 경우(후위증감연산자) : 해당 문장의 실행이 끝난 후에 변수의 값이 변경된..
[문과 코린이의 IT 기록장] C,C++ - 가상(Virtual)의 원리와 다중상속 2 : 다중상속에 대한 이해 ( 다중상속에 대한 견해, 다중상속의 기본방법, 다중상속의 모호성, 가상 상속 )
[문과 코린이의 IT 기록장] C,C++ - 가상(Virtual)의 원리와 다중상속 2 : 다중상속에 대한 이해 ( 다중상속에 대한 견해, 다중상속의 기본방법, 다중상속의 모호성, 가상 상속 ) 1. 다중상속에 대한 견해 - 다중상속이란 둘 이상의 클래스를 동시에 상속한다는 것을 말한다. - 그러나, 다중상속은 꽤 논란이 발생하는 문법이다. 따라서, 다중상속을 매우 예외적으로, 제한적으로 사용할 필요가 있다. 2. 다중상속의 기본방법 ex ) #include using namespace std; class BaseOne{ public: void SimpleFuncOne() { cout
[문과 코린이의 IT 기록장] C,C++ - 상속 1 (상속 공부 접근 방법, 문제의 제시, 상속의 문법적인 이해, 유도 클래스 객체 생성과정, 유도 클래스 객체의 소멸과정)
[문과 코린이의 IT 기록장] C,C++ - 상속 1 (상속 공부 접근 방법, 문제의 제시, 상속의 문법적인 이해, 유도 클래스 객체 생성과정, 유도 클래스 객체의 소멸과정) [ 상속 공부 접근 방법 ] a. 문제의 제시 : 상속과 더불어 다형성의 개념을 적용해야만 해결 가능한 문제를 먼저 제시한다,. b. 기본개념 소개 : 상속의 문법적 요소를 하나씩 소개해 나간다. c. 문제의 해결 : 처음 제시한 문제를, 상속을 적용해 해결해 나간다. ex ) OrangeMedia라는 회사가 운영하는 '급여관리 시스템' - 이 회사에서는 기존에는 정규직(ermanent) 하나의 근무형태만 존재했음. #include using namespace std; class PermanentWorker { // 정규직 클래스 ..
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 7 : 포인터 연산자 오버로딩(포인터 연산자 오버로딩, 스마트 포인터 (Smart Pointer), ( )연산자의 오버로딩과 펑터(Functor), 임시객체로의 자동 형 ..
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 7 : 포인터 연산자 오버로딩 (포인터 연산자 오버로딩, 스마트 포인터 (Smart Pointer), ( )연산자의 오버로딩과 펑터(Functor), 임시객체로의 자동 형 변환과 변환 연산자(Conversion Operator)) 1. 포인터 연산자 오버로딩 - 포인터를 기반으로 하는 연산자 모두를, 포인터 연산자라고 한다. - 그 중에서도 대표적인 포인터 연산자는 다음과 같다. a. -> : 포인터가 가리키는 객체의 맴버에 접근 b. * : 포인터가 가리키는 객체에 접근 - 이 두 연산자의 오버로딩은, 일반적인 연산자의 오버로딩과 크게 차이가 없다. ex ) #include using namespace std; class Number { pr..
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 3 : 대입연산자 (대입연산자, 디폴트 대입 연산자의 문제점, 상속 구조에서의 대입 연산자 호출, 이니셜라이저)
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 3 : 대입연산자 (대입연산자, 디폴트 대입 연산자의 문제점, 상속 구조에서의 대입 연산자 호출, 이니셜라이저) 1. 대입연산자 1) 대입 연산자 오버로딩은, 복사 생성자와 매우 유사하다. [ 디폴트 대입 연산자 ] - 정의하지 않으면 디폴트 대입 연산자가 삽입된다. - 디폴트 대입 연산자는 맴버 대 맴버의 복사(얕은 복사)를 진행한다. - 연산자 내에서 동적 할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야 한다. 2) 복사생성자 vs 대입연산자 : 호출되는 시점에서 차이가 존재한다. a. 복사생성자 호출 상황 int main(){ Point pos1(5,7); Point pos2 = pos1; // 새로 생성하는 객체 pos2의 ..