본문 바로가기

공부/C++

오늘의 공부 단일체(Singleton) 싱글턴[싱글톤] 싱글톤[싱글턴] 의도 : 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고 이에 대한 전역적인 접근점을 제공. 활용성 : 클래스의 인스턴스가 오직 하나여야 함을 보장하고, 잘 정의된 접근접 으로 모든 사용자가 접근할 수 있도록 해야 할 때, 유일한 인스턴스가 서브 클래싱으로 확장되어야 하며, 사용자는 코드의 수정 없이 확장된 서브클래스의 인스턴스를 사용할 수 있어야 할 때. 결과 : 1. 유일하게 존재하는 인스턴스로의 접근을 통제 2. 이름 공간을 좁힘. 3. 연산 및 표현의 정제를 허용. 4. 인스턴스의 개수를 변경하기가 자유로움. 5. 클래스 연산을 사용하는 것보다 훨씬 유연한 방법임. 본인이 이해한 방법 : 다른 코드를 본다 -> 대체 무슨 용돈지 존나 열심히 본다 -> 알아낸다. 참 쉽죠. 솔까말.. 더보기
포인터 타입의 연산 일반적인 숫자의 덧셈은 +1 을 하면 1을 더한 값이 된다. 하지만 포인터 타입에서의 + 1은 1을 더한 값이 아니다. 예제를 보자. #include using namespace std; int main() { int array[10];// 배열 선언 int* p = &array[5]; // array[5] 의 주소값을 int형 포인터에 입력 cout 더보기
콤보박스 사용 함수. GetLBText 먼저 GetLBText의 원형 부터 보자.int GetLBText( int nIndex, LPTSTR lpszText ) const; void GetLBText( int nIndex, CString& rString ) const; 그러하다. 콤보박스와 리스트박스는 함수명만 다르고 하는짓이 같음. 을 눈치챌 수 있다. X번째 의 인덱스에 해당하는 콤보박스의 스트링 문자열을 가져오는 함수이다. void CListComboDemoDlg::OnLbnSelchangeList1() { int nIndex = m_List.GetCurSel(); if(nIndex != LB_ERR) { m_List.GetText(nIndex, m_strSelected); UpdateData(FALSE); } } 이 부분을 Update.. 더보기
C++ 객체지향 프로그래밍 Chapter 22 상속과 포함 - 2 상속 문서 저장 클래스.의 구현. 예제에 쓰이는 각 코드들. DocWriter.h #ifndef DOCWRITER_H #define DOCWRITER_H #include using namespace std;// 스트링 클래스를 사용하기 위한 준비. class DocWriter { public: DocWriter(); DocWriter(const string& fileName, const string& content); ~DocWriter(); // 파일 이름을 지정 void SetFileName(const string& fileName); // 저장할 텍스트를 지정 void SetContent(const string& content); // 파일에 텍스트를 저장시킨다. void Write(); prote.. 더보기
C++ 객체지향 프로그래밍 Chapter 23 다형성과 가상함수 가상함수가 쓰이는 시기는 언제인가. ??? Shape 클래스와 자식 클래스들. 책 페이지 667 의 코드[단일 실행이 가능함] 책 내의 코드 우측에 쓰여있는 문장이나 굵은 글씨로 된 것 들을 모아두었다. 이 코드는 가상함수가 쓰인것이 아니다. #include using namespace std; // 일반적인 '도형'을 상징하는 클래스 class Shape {//Shape 클래스의 정의, 원 , 사각형 같은 일반적인 도형들이 public://공통적으로 가지는 속성들을 여기에 정의한다. 자식 클래스들은 void Move(double x, double y);//이 멤버들을 자동적으로 상속받게 된다.// void Draw() const;//모든 도형 클래스들은 자신을 움직이거나, 그리는 함수가 필요하다. Sh.. 더보기