info8995 님의 블로그

12일차(간단한 도서관시스템) 본문

TIL(Today I Learned)/C++

12일차(간단한 도서관시스템)

info8995 2025. 1. 2. 20:16

1. 클래스 설계와 객체 관리

  • Book 클래스는 책의 제목(title)과 저자(author)를 저장하는 역할을 합니다.
  • BookManager 클래스는 std::vector<Book>을 사용해 책들을 관리하며, 다음 기능을 제공합니다:
    • 책 추가
    • 모든 책 출력
    • 제목으로 책 검색

Book 클래스

  • 생성자: Book(string title, string author)는 제목과 저자를 초기화합니다.
  • 멤버 변수: title, author

BookManager 클래스

 


2. 주요 기능 구현

1) 책 추가

  • books 벡터에 새로운 Book 객체를 추가합니다.
  • books.push_back()을 사용해 객체를 생성하고 추가합니다.

2) 모든 책 출력

  • 일반 for문을 사용해 books 벡터의 모든 요소를 출력합니다.
 

일반 for문:


3) 제목으로 책 검색

  • books 벡터에서 제목이 일치하는 책을 검색하고 출력합니다.
  • 책을 찾지 못했을 경우 메시지를 출력합니다.

3. 실행 예제


4. 실행 결과

프로그램 실행 시 출력 결과는 다음과 같습니다:


5. 오늘 배운 점

  • C++ 클래스를 활용한 객체 지향 프로그래밍:
    • 데이터를 멤버 변수로 관리하고, 동작(기능)은 멤버 함수로 구현한다.
  • 일반 for문:
    • 벡터 요소를 인덱스로 접근하며 유연하게 사용할 수 있다.

이 코드는 도서 관리 프로그램의 기초를 다루었으며, 향후 파일 입출력, 데이터 정렬 등으로 확장 가능하다는 점도 깨달았습니다.