#include <iostream><br><br>#include <cstring><br><br>using namespace std;<br><br><br><br>class Book<br><br>{<br><br>private:<br><br> char *title; //책의 제목<br><br> char *isbn; //국제표준도서번호<br><br> int price; //책의 정가<br><br>public:<br><br> Book(const char* booktitle, const char *bookisbn, int bookprice) :price(bookprice)<br><br> {<br><br> title = new char[strlen(booktitle) + 1];<br><br> strcpy_s(title,sizeof(title) ,booktitle);<br><br> isbn = new char[strlen(bookisbn) + 1];<br><br> strcpy_s(isbn, sizeof(isbn),bookisbn);<br><br> }<br><br> void ShowBookInfo()<br><br> {<br><br> cout << "제목: " << title << endl;<br><br> cout << "ISBN: " << isbn << endl;<br><br> cout << "가격: " << price << endl;<br><br> }<br><br> ~Book()<br><br> {<br><br> delete[]title;<br><br> delete[]isbn;<br><br> }<br><br>};<br><br><br><br>class Ebook :public Book<br><br>{<br><br>private:<br><br> char *DRMKey; //보안관련 키<br><br>public:<br><br> Ebook(const char *booktitle, const char *bookisbn, int bookprice, const char *key) :Book(booktitle, bookisbn, bookprice)<br><br> {<br><br> DRMKey = new char[strlen(key) + 1];<br><br> strcpy_s(DRMKey,sizeof(DRMKey), key);<br><br> }<br><br> void ShowEBookInfo()<br><br> {<br><br> ShowBookInfo();<br><br> cout << "인증키: " << DRMKey << endl;<br><br> }<br><br> ~Ebook()<br><br> {<br><br> delete[]DRMKey;<br><br> }<br><br>};<br><br><br><br>int main(void)<br><br>{<br><br> Book book("좋은 C++", "555-12345-890-0", 20000);<br><br> book.ShowBookInfo();<br><br> cout << endl;<br><br> Ebook ebook("좋은 C++ ebook", "555-12345-890-1", 10000, "fdx9w0i8kiw");<br><br> ebook.ShowEBookInfo();<br><br> return 0;<br><br>}<br><br><div>이대로 실행하면 아래와같은 문제가 생깁니다...<br></div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201808/15331318133cd65485cffe49a6a72f72b2c086e469__w454__h340__f29244__Ym201808.png" alt="제목 없음.png" style="border:medium none;" width="454" height="340" filesize="29244"></div></div> <div><br></div> <div>원래 책에선 인자로 받을때 const도 없어서 추가시켰고 strcpy도 strcpy_s로 바꿨는데도 문제가 생기네요...<br>멤버변수를 char title[100], char isbn[100] 식으로 수정하고(밑에도 맞게 바꾸고) 실행하면 되는데</div> <div>위에 처럼하면 안돼요! ㅜㅜㅜㅜ<br>도와주세요<br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.