본문 바로가기

반응형

공부블로그

(51)
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 4 : (cout, endl 오버로딩) [문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 4 : (cout, endl 오버로딩) 1. cout, endl 오버로딩 ex 1 ) #include namespace mystd { // cout과 endl을, 직접 구현하기 위해서 선언한 이름공간이다. using namespace std; // 이 선언은 namespace mystd 내에서, 지역적으로 이루어졌으니, 이 지역 내에서만 유효한 선언이 된다. class ostream { public: // operator
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 2 : 단항 연산자 오버로딩(증감 연산자 오버로딩, 전위증가 및 후위증가의 구분) [문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 2 : 단항 연산자 오버로딩 (증감 연산자 오버로딩, 전위증가 및 후위증가의 구분) 1. 증감 연산자 오버로딩 ++ pos; // pos는 객체 a. 맴버함수로 오버로딩하는 경우 : pos.operator++(); b. 전역함수로 오버로딩하는 경우 : operator++.(pos); #include using namespace std; class Point { // point 클래스 private: int xpos, ypos; public: Point(int x = 0, int y = 0) : xpos(x), ypos(y){ } // 생성자 (x=0, y=0으로 초기화) void ShowPosition() const { // [xpos, ypo..
[문과 코린이의 IT 기록장] C,C++ - 복사생성자( 복사생성자란?, 얕은 복사 vs 깊은 복사 ) [문과 코린이의 IT 기록장] C,C++ - 복사생성자( 복사생성자란?, 얕은 복사 vs 깊은 복사 ) 1. 복사생성자란? 1) 복사생성자 형태 : 클래스이름 (const 클래스 이름 &참조변수){ } ex) SoSimple(const SoSimple & copy){ } 2) 복사생성자로 객체 생성 방법 a. 클래스명 생성할 객체 = 이미 생성된 객체; b. 클래스명 생성할 객체(이미 생성된 객체); // 이 방법을 사용하는 것이 더 좋음. // 어처피 전자는 암묵적인 형변환이 일어나기 때문에, explict로 선언된다면 형변환이 불가능하기 때문 3) 기본 복사 생성자 - 기본적으로 제공되는 생성자 중 하나. - 객체간의 변수의 값을 복사해준다. - 호출시키는 객체의 선언과 동시에 초기화할 때 생성한다...

반응형