본문 바로가기

개인공부121

C++ Primer 16 학습목표 C++ 표준 string 클래스 auto_ptr 템플릿, unique_ptr 템플릿, shared_ptr 템플릿 표준 템플릿 라이브러리(STL) 컨테이너 클래스 이터레이터(iterator) 함수 객체(functor) STL 알고리즘 initializer_list 템플릿 16.1 string 클래스 string 클래스는 string 헤더 파일을 통해 지원됨 string 클래스에는 문자열 대입, 문자열 결합, 문자열 비교, 개별 문자에 대한 접근, 문자열 안에 있는 문자나 부분 문자열의 검색 등을 포함하는 오버로딩 연산자들, 여러가지 생성자들 및 그 밖의 문자열 관련 메소드들이 포함되어있음 문자열 생성 string의 생성자에는 여러 종류가 존재 string(const char * s) : 객체를 s.. 2023. 2. 21.
C++ Primer 15 Exercise 01 // tv.h #ifndef TV_H_ #define TV_H_ class Remote; class Tv { public: friend class Remote; enum {Off, On}; enum {MinVal, MaxVal = 20}; enum {Antenna, Cable}; enum {TV, DVD}; enum {NORMAL, CONVERSATION}; Tv(int s = Off, int mc = 125) : state(s), volume(5), maxchannel(mc), channel(2), mode(Cable), input(TV) {} void onoff() { state = (state == On) ? Off : On; } bool ison() const { return state ==.. 2023. 2. 21.
C++ Primer 15 학습목표 프렌드 클래스 프렌드 클래스의 메소드 내포된 클래스 예외 처리, try 블록, catch 블록 예외 클래스 RTTI(실행 시간 데이터형 정보) dynamic_cast와 typeid static_cast, const_cast, reinterpret_cast 15.1 프렌드 클래스도 프렌드가 될 수 있음 프렌드 클래스의 모든 메소드는 오리지널 클래스의 private 멤버 및 protected 멤버에 접근할 수 있음 어떤 클래스의 특정 멤버 함수들만 다른 클래스의 프렌드가 되도록 지정할 수 있음 프렌드 클래스 TV 클래스와 리모콘 클래스가 존재할때, 이 둘은 is-a도, has-a 관계도 아님 그러나 리모콘 클래스는 TV 클래스의 상태를 변경할 수 있으며, 따라서 리모콘 클래스를 TV 클래스의 프렌드.. 2023. 2. 21.
C++ Primer 14 Exercise 01 // winec.h #ifndef WINEC_H_ #define WINEC_H_ #include #include #include template class Pair { private: T1 a; T2 b; public: T1 & first(); T2 & second(); T1 first() const { return a; } T2 second() const { return b; } Pair(const T1 & aval, const T2 & bval) : a(aval), b(bval) {} Pair() {} }; typedef std::valarray ArrayInt; typedef Pair PairArray; class Wine { private: std::string name; int year_n.. 2023. 2. 21.