분류 전체보기70 Ch 10. 연산자 오버로딩 1 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 연산자 오버로딩 - 객체도 완벽히 기본 자료형 데이터처럼 취급하게 할 수 있음 - 'operator' 키워드 + '연산자' => 연산자를 이용한 함수의 호출도 허용 - 연산자 오버로딩한 함수도 const 선언이 가능 # 연산자 오버로딩 방법 1) 멤버함수에 의한 방법 class Point { private: int xpos,ypos; public: ... Point operator+(const Point &ref) { Point pos(xpos+ref.xpos,ypos+ref.ypos); return pos; } }; .. 2020. 8. 17. Ch 07-09. 상속의 이해, 상속의 다형성, 가상(Virtual)의 원리와 다중상속 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 상속은 기존에 정의해 놓은 클래스의 재활용을 목적으로만 하는 것이 아니다. # 클래스의 유형 1) 데이터적 성격(entity 클래스) 2) 기능적 성격(컨트롤클래스, 핸들러클래스) # 컨트롤클래스(핸들러클래스) 1) 기능제공의 핵심이기에 모든 객체지향 프로그램에서 필수적임 2) 프로그램 전체의 기능을 담당 3) 컨트롤클래스만 봐도 프로그램 전체기능과 흐름 파악이 가능 # Entity 클래스 1) 데이터적 성격이 강함. 따라서 파일 및 데이터베이스에 저장된 데이터를 소유 2) 프로그램의 기능을 파악하는데에는 도움을 주지 .. 2020. 8. 17. Ch 06. friend와 static 그리고 const 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 변수를 상수화하듯, 객체도 상수화가 가능하다. 이는 객체의 데이터 변경을 허용하지 않겠다는 의미이므로 해당 객체는 const 함수만 호출이 가능하다. # 멤버변수의 값을 수정하지 않는 멤버함수의 경우 const 선언을 하는 습관을 들이자. # const 선언 또한 함수 오버로딩 조건에 해당된다. 1) 매개변수의 수 2) 매개변수의 자료형 3) const 선언 유무 * 반환형은 해당되지 않으니 주의하자. # const 참조자로 객체를 참조하는 경우에도, 이 참조자로 함수를 호출시 const 함수만 호출이 가능하다. # 클.. 2020. 8. 17. Ch 05. 복사 생성자(Copy Constructor) 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C++ 스타일의 초기화 - 객체 생성의 예 int num=20; (묵시적 변환, 자동변환) int num(20); - 위와 같은 묵시적 변환이 싫다면 생성자에 explicit 키워드를 사용하자. 그러면 더이상 대입연산자를 이용한 객체 생성 및 초기화는 불가능하다. # 복사 생성자의 형태 클래스명(const 클래스명 ©) // const 선언은 필수가 아니나, &는 필수임(안그러면 무한루프에 빠진다.) :...(멤버 이니셜라이저를 통해 멤버대멤버 복사) { ...(필요하다면 깊은 복사) ...(다른 것들도 수행가능.. 2020. 8. 17. 이전 1 2 3 4 5 6 7 ··· 18 다음