게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
strcpy_s ..?
게시물ID : programmer_21716짧은주소 복사하기
작성자 : zzzjinwook
추천 : 0
조회수 : 535회
댓글수 : 3개
등록시간 : 2017/11/19 20:12:09
옵션
  • 본인삭제금지
#include <iostream>
#include <cstring>
using namespace std;
class Book {
char *title; // 제목 문자열
int price; // 가격
public:
Book(char* title, int price);
Book(Book& b); // (3) 정답. 깊은 복사 복사 생성자 작성
~Book();
void set(char* title, int price);
void show() { cout << title << ' ' << price << "원" << endl; }
};
Book::Book(char * title, int price) {
int len = strlen(title);
this->title = new char[len + 1];
strcpy_s(this->title,100, title);
this->price = price;
}
Book::Book(Book & b) {
int len = strlen(b.title);
title = new char[len + 1];
strcpy_s(title,100, b.title);
price = b.price;
}
Book::~Book() {
if (title)
delete[]title;
}
void Book::set(char * title, int price) {
if (strlen(title) > strlen(this->title)) {
delete[]this->title;
this->title = new char[strlen(title + 1)];
strcpy_s(this->title,100, title);
}
this->price = price;
}
int main() {
Book cpp("명품C++", 10000);
Book java = cpp;
java.set("명품자바", 12000);
cpp.show();
java.show();
}



strcpy 가 비쥬얼 스튜디오 2017에서 안되서 strcpy_s로 바꾸었는데 실행 오류가 뜨네요...
해결법좀 부탁드립니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호