프로그래밍 연습 - String 클래스의 구성원 함수를 작성해 보십시오.
4891 단어 String 클래스
#include <string.h>
//*** ************************************
class String
{
public:
String(const char *str = NULL);
String(const String &another);
~ String();
String & operator =(const String &);
private:
char *m_data; //
};
//************************************************
String::String(const char *str)
{
if(str == NULL)
{
m_data = new char[1];// NULL, 。
m_data[0] = '\0';
}
else
m_data = new char[strlen(str) + 1];
strcpy(m_data, str);
}
String::String(const String &another)
{
if(&another == this) // another == *this
return;
else
{
m_data = new char[strlen(another.m_data) + 1];
strcpy(m_data, another.m_data);
}
}
String::~String()
{
if(m_data != NULL)
delete[] m_data;
}
String& String::operator =(const String &rhs)// , String::String& operator=......
{
if(&rhs == this)
return *this;
else
{
delete[] m_data; //
m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data, rhs.m_data);
}
return *this;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#의string 유형 이해C# String 유형이 값 유형인지 참조 유형인지 여부에 대해 많은 C# 학습자들 사이에서 곤혹스러웠습니다. string a = "aaa"; string b = a; b = "bbb"; public void Swa...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.