Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[6036] 디폴트 생성자 : 이 소스 맞나요?
chqh [huniper] 2622 읽음    2007-07-07 01:26
이 사이트의 일부

http://www.yes24.com/Goods/FTGoodsView.aspx?goodsNo=254391&CategoryNumber=001001003011001

하지만 이 책에는 본인의 뇌세포를 자극하는 몇가지 단점들이 눈에 띄었습니다.
첫째, 부록에 포함된 소스의 에러입니다. 23장을 보면 string 클래스를 정의합니다. string 클래스에서는 문자열을 저장하기 위해 메모리를 동적할당 합니다. 그런데 C++에서 문자열을 저장하기 위해서는 문자열의 길이에 1을 더해서 널(null) 문자가 저장될 공간까지 할당해 주어야 함에도 불구하고 책의 소스에는 널(null) 문자가 저장될 공간을 할당해 주지 않아 에러가 발생합니다. 그리고 디폴트 생성자로 객체를 생성하여 출력을 하는 부분에서도 에러가 발생하는데, 디폴트 생성자의 코드를 다음과 같이 수정하여야 합니다.

string::string()
{
m_pStr = new char[1];
*m_pStr = '\0';
m_nLen = 0;
}

-------------

제 질문 :
에라 발생안하는데요 이상하네요 발생하는게 맞을까요?

그 책의 원래 소스를 첨부합니다.

이부분과 비교해보세요
string::string( )
{
    m_pStr=NULL;
    m_nLen=0;

+ -

관련 글 리스트
6036 디폴트 생성자 : 이 소스 맞나요? chqh 2622 2007/07/07
6039     Re:디폴트 생성자 : 이 소스 맞나요? cc1232 2706 2007/07/16
6040         Re:Re:디폴트 생성자 : 이 소스 맞나요? chqh 2463 2007/07/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.