잼바르기

고정 헤더 영역

글 제목

메뉴 레이어

잼바르기

메뉴 리스트

  • 홈
  • 이사 전 노션
  • 전체
    • Portpolio
      • Unreal C++
      • Unity
    • C / C++
      • 키워드
      • Effective C
    • Unreal
      • Unreal
      • 개념
    • DirectX
    • 자료구조 / 알고리즘
      • 자료구조
      • 알고리즘
    • 네트워크
    • Design Pattern
    • 개념
      • 여러가지 지식
    • 코딩테스트
    • CA / OS

검색 레이어

잼바르기

검색 영역

컨텐츠 검색

C / C++/Effective C

  • Chapter 6. 상속, 객체지향 설계

    2024.10.08 by 부레두

  • Chapter 5. 구현

    2024.10.03 by 부레두

  • Chapter 4. 설계 및 선언

    2024.09.04 by 부레두

Chapter 6. 상속, 객체지향 설계

32. public 상속 모형은 반드시 "is-a"를 따르도록 만들자public 상속은 '기본 클래스 객체가 가진 모든 내용들이 파생 클래스 객체에도 그대로 적용된다는 사실을 명시'한 것. 예시로 "새" 라는 기본 클래스와 "비둘기"와 "펭귄" 이라는 파생 클래스를 생성했을때,기본 클래스에 "날다 = Fly"라는 기능을 정의 했을 경우, 파생 클래스인 "비둘기"와 "펭귄" 모두 Fly 라는 기능을 상속받는다.하지만, 실제로 펭귄은 날 수 없는 새의 한 종류로 날다라는 기능이 실행되면 안되는 파생 클래스다. 때문에 상속 관계의 클래스를 설계할 때는 가상함수를 정의해 파생 클래스들이 상속받는 함수들의 동작을 다르게 만들 수 있는 여지를 남겨두는 것이 설계에 영향을 끼칠 수 있다. 33. 상속된 이름을 숨기는..

C / C++/Effective C 2024. 10. 8. 01:59

Chapter 5. 구현

항목 26. 변수 정의는 늦출 수 있는 데까지 늦추는 근성을 발휘하자.변수가 초기화될 때 생성자와 소멸자가 호출되어 생성된다. 항목 26에서는 이조차 비용으로 정리되는 C++에서는 값을 초기화하는 타이밍을 최대한 늦추어 멤버함수 호출 빈도 관리가 비용 절감에 도움된다는 내용이다. 밑은 두가지 경우가 각각 생성자와 소멸자가 몇번 호출되는 지에 따른 비교다.// 예제 1)Widget W;for(int i = 0; i  예제 1과 예제 2번의 차이는 "Widget" 변수가 for문의 밖에서 정의되는지 안에서 정의되는지의 차이뿐이지만,간단히 정리해보면예제 1번 코드에서는  '생성자 1번 + 소멸자 1번 + 대입 n 번'예제 2번 코드에서는  '생성자 n번 + 소멸자 n번' 정도의 호출이 일어난다.스코프에 따라 ..

C / C++/Effective C 2024. 10. 3. 22:18

Chapter 4. 설계 및 선언

18. 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자인터페이스 오용으로 발생할 수 있는 문제점과 그 해결법을 제시한 항목내용에 대해 설명하기에 앞서 내가 정리한 인터페이스를 설명하자면 "순수가상함수로만 이루어진 클래스"라 설명을 마칠게 아니라 "사용할 함수의 이름을 명세한 설계도" 정도의 부가 설명이 필요하다고 생각한다. 설계도의 경우, 실제 사용자는 설계도만 보고 사용하기엔 부족한 부분이 발생할 여지가 다분하기 때문에 이런 문제를 사전에 방지하는 것이 유효한 테크닉이 된다는 내용이다. 책에서 제시된 해결 방안으로Wrap 클래스 생성반환 타입의 const 한정기본 타입처럼 동작하는 클래스로 생성등이 있다. * 교차 DLL 문제 ? ( 자세히 이해하지 못한 부분 )위 방식에 따라 인터..

C / C++/Effective C 2024. 9. 4. 18:02

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
잼바르기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바