#include <iostream>
// 2
class String
{
private:
char* m_pStr; // 2
int m_MaxLength; // 3
int m_Length; // 4
public:
int Length()
{
return m_Length;
}
const char* GetStr()
{
return m_pStr;
}
public:
String()
: m_pStr(nullptr)
, m_MaxLength(10)
, m_Length(0)
{
m_pStr = (char*)malloc(sizeof(char) * (m_MaxLength + 1)); // 5
}
~String()
{
if (nullptr != m_pStr)
{
free(m_pStr);
}
}
};
int main()
{
String str; // 1
return 0;
}
int main()
{
String str;
const char* pStr = "abcdef"; // 1
str = "abcdef"; // 2
return 0;
}
String str1;
String str2;
String str3 = str1 + str2; // 오류 사진.
#include <iostream>
class String
{
private:
char* m_pStr;
int m_MaxLength;
int m_Length;
public:
int Length()
{
return m_Length;
}
const char* GetStr()
{
return m_pStr;
}
public:
void operator = (const char* _str) // 1
{
}
String operator+ (String _string) // 2
{
this;
return String();
}
void operator += (const char* _Str) // 3
{
}
public:
String()
: m_pStr(nullptr)
, m_MaxLength(10)
, m_Length(0)
{
m_pStr = (char*)malloc(sizeof(char) * (m_MaxLength + 1));
}
~String()
{
if (nullptr != m_pStr)
{
free(m_pStr);
}
}
};
int main()
{
String str;
str = "abcdef"; // 4
// 2.4
str.String::operator=("abcdef"); // 5
str = "abcdef"; // 6
String str1;
String str2;
String str3 = str1 + str2; // 7
String str3 = str1.String::operator+ (str2); // 8
String s1;
s1 = "abcd";
String s2;
s2 = "efgh";
String s3;
s3 = s1 + s2; // 9
s3 = s1.String::operator+ (s2); // 10
s3 += "hijkl"; // 11
s3.String::operator+= ("hijkl"); // 12
return 0;
}
#include <iostream>
class String
{
private:
char* m_pStr;
int m_MaxLength;
int m_Length;
public:
int Length()
{
return m_Length;
}
const char* GetStr()
{
return m_pStr;
}
public:
void operator = (const char* _str)
{
}
String operator+ (String _string)
{
return String();
}
void operator +=(const char* _Str)
{
}
public:
String()
: m_pStr(nullptr)
, m_MaxLength(10)
, m_Length(0)
{
m_pStr = (char*)malloc(sizeof(char) * (m_MaxLength + 1));
}
~String()
{
if (nullptr != m_pStr)
free(m_pStr);
}
};
int main()
{
String str;
// str.String::operator=("abcdef");
str = "abcdef";
String str1;
String str2;
String str3 = str1 + str2; //str1.String::operator+(str2);
int a = 0;
a = 10;
String s1;
s1 = "abcd";
String s2;
s2 = "efgh";
String s3;
s3 = s1 + s2;
s3 += "hijkl";
return 0;
}
1차 23.12.21
2차 23.12.22
3차 23.12.25
4차 23.12.26
5차 23.12.27
6차 24.01.02