전체 글75 C++ 파일입출력 ( ifstream, ofstream ) 파일읽기 ( ifstream ) 헤더 : input file stream 파일 내용 읽어옴 사용함수 1. open() - 파일 열 때 사용 void open( const char* fileName, ios_base::openmode mode = ios_base::in ); void open( const string& fileName, ios_base::openmode mode = ios_base::in ); 첫번째 인자 : open할 파일명 두번째 인자 : 오픈할 때 모드 설정 ios::in : 읽기 위한 파일 열기 ios::out : 쓰기 위한 파일 열기 ios::ate : 파일의 끝에 위치 ios::app : 모든 출력은 파일의 끝에 추가된다. ios::trunc : 만약 파일이 존재하면 지운다. i.. 2022. 4. 28. C++ 디자인 패턴. 싱글턴 패턴(Singleton Pattern) 싱글턴 패턴, Singleton Pattern 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. 싱글턴 패턴은 의도와는 달리 득보다는 실이 많다. 싱글턴 패턴을 남용하지 말라고 하지만, 개발자들 중에는 귀담아 듣는 사람이 많지 않다. 워낙 남용되는 패턴이다 보니 싱글턴을 피할 방법을 주로 다루겠지만, 그래도 우선은 싱글턴 패턴에 대해 살펴보자. 싱글턴 패턴 1. 오직 한 개의 인스턴스(객체)만을 갖도록 보장 인스턴스가 여러 개면 제대로 작동하지 않는 상황이 종종 있다. 외부 시스템과 상호작용하면서 전역 상태를 관리하는 클래스 같은 게 그렇다. ex) 파일 시스템 API 파일 시스템 클래스로 들어온 호출이 이전 작업 전체에 대해 접근할 수 있어야 한다. 아무데서나 .. 2022. 4. 14. C++ 상속 public 상속 #include using namespace std; class Asset{ int money; public: Asset() { money = 0; } void inc_money(int m) { money += m; } void show_asset() { cout 2022. 4. 13. C++ 접근 제어자 접근 제어자 객체지향 프로그래밍의 특징 중 하나인 정보 은닉을 위한 키워드 클래스와 구조체에서의 접근 제어자 c++ 클래스의 기본 접근 제어 권한 : private c++ 구조체, 응용체의 기본 접근 제어 권한 : public c++ 클래스에서 private 접근 제어자는 생략 가능하다. 단, 나머지 접근 제어자는 생략 불가능 class Book { private: // 생략 가능함. int current_page_; void set_percent(); public: string title_; int total_page_; double percent_; void Move(int page); void Open(); void Read(); }; 2022. 4. 10. C++ 클래스, this포인터, 기본생성자, 디폴트생성자, 복사생성자 클래스 선언 방법 class Book { private: int current_page; // 멤버 변수 public: void set_percent(); // 멤버 함수 int total_page; . . . }; Book my_book; // 클래스 Book 객체 my_book 선언 외부클래스 정의 방법 클래스 선언 밖에서 멤버함수를 정의할 때 주의사항 외부에서 멤버함수를 정의하려면 클래스 안에 정의할 멤버함수가 이미 있어야 한다. ( 오버라이딩? 같은 느낌 ) 외부에서 정의하려면 함수의 몸체, 즉 { } 가 클래스 내에 있으면 안 된다. 사용법 class Member{ public: Member(); void print(); }; Member::Member(){ printf("생성자 외부클래스로 정.. 2022. 4. 10. C++ enum ( 열거형 자료형 ) enum C++에는 많은 자료형이 내장되어 있지만 이 자료형들이 원하는 걸 표현하기에 충분하지 않다. ➡️ 그래서 프로그래머들은 사용자 정의 자료형으로 자신만의 자료형을 만든다. 가장 간단한 사용자 정의 자료형이 바로 열거형 자료형이다. 열거형을 정의해도 메모리에는 할당되지 않는다. ➡️ 열거된 유형의 변수를 선언한 경우에 해당 변수에 대한 메모리가 할당된다!! 각 열거자는 열거 목록의 위치에 따라 정수 값이 자동으로 할당된다. 기본적으로 첫 번째 열거자에는 정수 값 0이 할당되며 그 이후 열거자에는 이전 열거자보다 1 더 큰 값이 할당된다. 열거형은 고유한 자료형으로 간주한다. ( 열거형에 다른 열거형을 할당하려고 하면 컴파일 에러 발생 ) enum 식별자는 대문자로 시작하는 경우가 많으며, 열거자는 .. 2022. 4. 10. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음