컴공 일기256
게시글 주소: https://orbi.kr/00070757393
STL의 string을 흉내내고 있습니다.
되돌아 온 객체 지향의 향기… 익숙하고도 준엄하군요.
사실 결함이 있다면 선언 / 정의를 분리시켜야 하는데, 아이패드에선 그걸 지원하지 않아서
한 헤더 파일에 선언과 정의를 모두 적고 있습니다… 씁슬하네요.
#pragma once
#include <iostream>
using namespace std;
class CMystring
{
public:
CMystring();
~CMystring();
//멤버 변수에 포인터가 있으므로 Deep Copy를 반드시 지원해야 한다.
CMystring(const CMystring&);
const char* getData() const;
void setData(const char*);
const size_t getLength() const;
void operator=(const CMystring& rhs);
private:
char*m_pszData = nullptr;
size_t length = 0;
};
CMystring::CMystring()
{
cout << "CMystring()" << endl;
}
//Deep Copy
CMystring::CMystring(const CMystring& rhs)
{
this->setData(rhs.m_pszData);
}
CMystring::~CMystring()
{
cout << "~CMystring()" << endl;
delete[] m_pszData;
}
void operator=(const CMystring& rhs)
{
this->setData(rhs.m_pszData);
}
const char* CMystring::getData() const
{
return m_pszData;
}
void CMystring::setData(const char* pParam)
{
//setData()가 여러번 호출될 경우, m_pszData가 null이 아닐 수도 있다.
if(m_pszData != nullptr)
delete[] m_pszData;
size_t length = strlen(pParam);
m_pszData = new char[length + 1];
this->length = length;
strcpy(m_pszData, pParam);
}
const size_t CMystring::getLength() const
{
return this->length;
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
교육청->설대~연고경 6,9->연고낮/중~서성한 높 수능->서성한 중상~높 역시...
-
나의 목표 적백 + 경제 표점으로 설자전 쟁취하자
-
원래 맥날 아침에는 햄버거 안 파고 이상한 빵으로 만든 맥모닝? 이거밖에 안 팖?...
-
ㅠㅠㅠ 다 4칸이에요..
-
세상을 지배핮니다
-
수능 선택과목 5
안녕하세요 연세대 통계학과 지망 생각중인 고2학생입니다대학교 학과별 권장/필수 수능...
-
44344진학사에 해보니까 6칸으로 추합 예측됐는데 할만할까요+해양대 컴공도...
-
25 로 들어갈것 같은데 상황이 궁금하네요..
-
북반구 여름일때 남반구 겨울인거 우리 여름일때 남반구에서 눈오는거 뭔가 괴리감 나만그런가
-
시행착오는 끝 0
D 325 몰랐는데 내 첫수능날이 엄마 생신이다
-
20 21 현역 수시로 문과 대학 2년감 22 23 군수로 인생 첫 수능준비 24...
-
나만열심히 대학 라인 안잡아보믄거같음..진학사도 나만 계속 수시로 추이...
첫번째 댓글의 주인공이 되어보세요.