• AI글쓰기 2.1 업데이트
  • AI글쓰기 2.1 업데이트
  • AI글쓰기 2.1 업데이트
  • AI글쓰기 2.1 업데이트
BRONZE
BRONZE 등급의 판매자 자료

방통대(방송통신대학교) 2020학년도 2학기 C++프로그래밍 A+ 기말과제물

"방통대(방송통신대학교) 2020학년도 2학기 C++프로그래밍 기말과제물"에 대한 내용입니다.
12 페이지
워드
최초등록일 2020.12.25 최종저작일 2020.10
12P 미리보기
방통대(방송통신대학교) 2020학년도 2학기 C++프로그래밍 A+ 기말과제물
  • 미리보기

    소개

    "방통대(방송통신대학교) 2020학년도 2학기 C++프로그래밍 기말과제물"에 대한 내용입니다.

    목차

    [문항 1] 복사 생성자, 이동 생성자, 대입 연산자, 이동대입 연산자에 대한 다음 과제를 작성하라. (30점)
    가) 각각의 개념을 설명하라. (A4용지 1매 내외)
    (나) 교재의 [소스코드 4-8, 4-9]의 Person 클래스에 복사 생성자, 이동 생성자, 대입 연산자, 이동대입 연산자를 추가하라.

    [문항 2] 가상함수의 개념 및 용법을 간단한 예와 함께 A4용지 1매 내외로 설명하라. (20점)

    [문항 3] 교재의 [소스코드 7-11]을 수정하여 [소스코드 5-6, 5-7]의 Complex2 객체의 배열에 대해 rPart의 제곱과 iPart의 제곱의 합을 기준으로 내림차순 정렬 및 합병을 하려고 한다. [소스코드 7-11]을 어떻게 수정해야 하는지 설명하고, 이 방법에 따라 프로그램을 수정하라. (20점)

    본문내용

    복사 생성자란, 동일한 클래스 내에 있는 다른 객체를 복사해서, 객체를 만드는 생성자이다. 만약, Person이라는 클래스의 객체를 a라는 변수로 만들었다면, 해당 a 객체 값의 내용을, 새로운 Person b라는 새로운 객체에 입력하는 것이다. 복사 생성자의 장점은, 생성자에 필요한 인자들을 직접 입력하지 않고도 똑같은 객체를 생성할 수 있다는 점이다. 프로그래머가 따로 지정하지 않아도 디폴트 복사 생성자가 기본적으로 설정되어 있다.

    하지만 만약 데이터 멤버에 포인터가 있을 경우를 가정하고, 디폴트 복사 생성자로 객체가 만들어진다면, 얕은 복사의 문제점이 발생한다. 왜냐하면, 복사를 받은 객체 내의 포인터에는, 원본의 객체 내의 포인터의 주소가 입력되어 있을 것이다. 하지만 만약 원본 데이터가 해제된다면, 복사를 받은 객체의 포인터는, 해제된 빈 공간을 가리키게 된다. 이를 얕은 복사의 문제점이라고 한다. 이를 해결하기 위해, 포인터 주소가 아닌, 주소의 내용을 복사하는 깊은 복사 방법을 선택할 수 있다. 즉, 복사 생성자 내에서, 포인터를 위한 별도의 메모리를 할당(내용의 크기에 따라 달라짐)하고, 그 할당된 메모리가 복사할 실 내용을 담게끔 하는 것이다.

    대입 연산자는 기본적으로 복사를 한다는 점에서, 복사 생성자와 유사하다. 대입 연산자 오버로딩을 구현해야 하는데, 대입을 받을 객체의 기존 데이터의 공간들을 비운 뒤에, 해당 빈자리에, 대입을 할 객체의 데이터를 각각 대입하면 된다. 기존 데이터에 포인터 변수를 위해 할당한 메모리가 있다면, 해제하고, 복사할 내용의 크기만큼 다시 메모리를 할당한 후, 내용을 복사하면 된다.

    하지만, 만약에 어떤 객체를 잠깐만 사용할 경우가 있다. 객체 a와 b를 더한 값을 객체 c에 담고자 했을 때, 임시 객체인 (a+b)의 내용을 객체 c에 담을 때 깊은 복사가 일어나는데, 잠깐 있다가 값만 전달하는 객체인 (a+b)를 위한 메모리 할당은 프로그램의 비효율을 야기한다. 이 때, 이동 생성자가 활용하면 이를 해소할 수 있다.

    참고자료

    · 없음
  • 자료후기

      Ai 리뷰
      지식판매자의 자료는 제가 필요로 하는 지식을 완벽하게 충족시켜주었습니다. 과제 제출일이 얼마 남지 않아 시간이 부족했는데, 이 자료 덕분에 과제를 제출 할 수 있었습니다. 정말 감사합니다!
    • 자주묻는질문의 답변을 확인해 주세요

      해피캠퍼스 FAQ 더보기

      꼭 알아주세요

      • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
        자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
        저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
      • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
        파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
        파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

    “컴퓨터과학과” 연관 자료 입니다

    문서 초안을 생성해주는 EasyAI
    안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
    저는 아래와 같이 작업을 도와드립니다.
    - 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
    - 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
    - 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
    이런 주제들을 입력해 보세요.
    - 유아에게 적합한 문학작품의 기준과 특성
    - 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
    - 작별인사 독후감
    • 프레시홍 - 추석
    해캠 AI 챗봇과 대화하기
    챗봇으로 간편하게 상담해보세요.
    2025년 09월 25일 목요일
    AI 챗봇
    안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
    12:22 오후