게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] c++ 질문입니다 ㅜㅜ
게시물ID : programmer_22538짧은주소 복사하기
작성자 : 카망까망
추천 : 0
조회수 : 1132회
댓글수 : 2개
등록시간 : 2018/08/01 22:59:58
옵션
  • 본인삭제금지
#include <iostream>

#include <cstring>

using namespace std;



class Book

{

private:

    char *title; //책의 제목

    char *isbn; //국제표준도서번호

    int price; //책의 정가

public:

    Book(const char* booktitle, const  char *bookisbn, int bookprice) :price(bookprice)

    {

        title = new char[strlen(booktitle) + 1];

        strcpy_s(title,sizeof(title) ,booktitle);

        isbn = new char[strlen(bookisbn) + 1];

        strcpy_s(isbn, sizeof(isbn),bookisbn);

    }

    void ShowBookInfo()

    {

        cout << "제목: " << title << endl;

        cout << "ISBN: " << isbn << endl;

        cout << "가격: " << price << endl;

    }

    ~Book()

    {

        delete[]title;

        delete[]isbn;

    }

};



class Ebook :public Book

{

private:

    char *DRMKey; //보안관련 키

public:

    Ebook(const char *booktitle, const  char *bookisbn, int bookprice, const  char *key) :Book(booktitle, bookisbn, bookprice)

    {

        DRMKey = new char[strlen(key) + 1];

        strcpy_s(DRMKey,sizeof(DRMKey), key);

    }

    void ShowEBookInfo()

    {

        ShowBookInfo();

        cout << "인증키: " << DRMKey << endl;

    }

    ~Ebook()

    {

        delete[]DRMKey;

    }

};



int main(void)

{

    Book book("좋은 C++", "555-12345-890-0", 20000);

    book.ShowBookInfo();

    cout << endl;

    Ebook ebook("좋은 C++ ebook", "555-12345-890-1", 10000, "fdx9w0i8kiw");

    ebook.ShowEBookInfo();

    return 0;

}

이대로 실행하면 아래와같은 문제가 생깁니다...
제목 없음.png

원래 책에선 인자로 받을때 const도 없어서 추가시켰고 strcpy도 strcpy_s로 바꿨는데도 문제가 생기네요...
멤버변수를 char title[100], char isbn[100] 식으로 수정하고(밑에도 맞게 바꾸고) 실행하면 되는데
위에 처럼하면 안돼요! ㅜㅜㅜㅜ
도와주세요
출처 열혈 c++ 7-2문제
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호