1. 11-3 유도된 클래스들의 생성 순서- 자식 클래스 생성자에서 initializer list로 부모클래스 멤버변수에 접근 못하는이유== 부모 클래스의 defualt constructor 자동 호출- 다단계 상속의 경우 최상위 클래스의 생성자 우선으로 호출됨 2. 11-4 유도된 클래스들의 생성과 초기화- 자식 인스턴스는 부모 인스턴스의 멤버변수까지 모두 담을만한 큰 메모리를 할당 받는다.- 소멸자는 자식 인스턴스 부터 부모 인스턴스 순으로 호출된다.( 생성자 순서의 역순 )3. 11-5 상속과 접근 지정자- 부모 클래스의 private은 자식클래스의 생성자 내부에서도 접근 불가 public, protected 접근가능- 클래스 내부에서는 public 멤버만 접근가능.- 상속 접근 지시자를 prote..
1. 10.1 객체들의 관계 Object Relation- 구성(요소)(composition)- 집합(aggregation)- 연계(association)- 의존(dependency)2. 10-2 구성 관계 composition- Monster Postion2D- #pragma once??== #ifndef 구문과 비슷한 역할인데 표준은 아닌듯 http://abipictures.tistory.com/189- undefined reference to `std::allocator::allocator()'갑자기 이런식의 에러가 나길래 뭔가했더니 gcc로 컴파일해서그럼 g++ 로했어야함. 3. 10-3 집합 관계 aggregation- Lecture , students, teachers- 객체를 다른 클래스에서..
1. 11-1 상속의 기본 is-a relation ship [1/2] - class Child : public Mother // derived class : generalized class - 같은 이름의 메서드 사용시 child class의 것을 우선사용 - mother class 의 프라이빗 멤버에 child 는 접근 불가 - protected: private 상태는 유지하면서 자식에게는 접근 허용 - constructor 는 메모리가 할당 될때 initialize를 요청 - child class 가 생성될 때 mother class의 생성자를 같이 호출
1. 9-5 증감 연산자 오버로딩하기// prefixDigit& operator ++(){++m_digit;return *this;} //postfixDigit operator ++(int){Digit temp(m_digit);++(*this);return temp;}- postfix 오버로딩의 경우 더미 argument를 삽입해줘야한다.- postfix 부분의 return 타입을 Digit&으로 바꿨더니warning: reference to local variable ‘temp’ returned [-Wreturn-local-addr] 라는 경고문이 뜨고 실행하면 Segmentation fault(core dumped)가 뜬다. 이유는 temp의 레퍼런스를 반환하게하고 싶은데 후순위 ++ 연산자가 작동을..
따라배우는 C++ (홍정모)https://www.youtube.com/watch?v=KJGxrd2Ac24&list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz 1. 9-1 산술연산자 오버로딩(overloading) 하기-const를 뒤에 붙이면 같은 이름도 오버로딩 된다는 것을 까먹어서 조금 헤멤- 핵신기,, c++로 파이썬 만들수도 있을듯Cents operator + (const Cents &c1, const Cents &c2){return Cents(c1.getCents() + c2.getCents());}cout 연산자 말고 < 연산자를 오버로딩 해야함 (인터레스팅..)
1. 8-12 친구 함수와 클래스 friend- 연산자 오버로딩에서 가장 많이 사용함- 전방 선언(foward declaration) class B;class A 내부에서 class B에관한 내용이 있는데 B가 늦게 선언되어 있으면 A앞에 전방선언을 해준다.2. 8-13 익명개체 (anonymous)- lvalue, rvalue?== lvalue : 단일 식을 넘어 지속되는 개체를 참조. 모든변수 rvalue : rvalue를 사용하는 식 외에서는 유지되지 않는 임시 값. https://msdn.microsoft.com/ko-kr/library/f90831hc.aspx- class A 의 메서드 print()가 있다고 했을 때 A(1).print()처럼 바로 사용가능. 이때 A는 rvalue와 비슷== ..