|
|
 |
|
|
|
|
34:
35: private:
36: String (int); // private constructor
37: char * itsString;
38: unsigned short itsLen;
39: };
40:
41: // default constructor creates string of 0 bytes
42: String::String()
43: {
44: itsString = new char[1];
45: itsString[0] = \0;
46: itsLen=0;
47: ASSERT(Invariants());
48: }
49:
50: // private (helper) constructor, used only by
51: // class methods for creating a new string of
52: // required size. Null filled.
53: String::String(int len)
54: {
55: itsString = new char[len+1];
56: for (int i = 0; i<=len; i++)
57: itsString[i] = \0;
58: itsLen=len;
59: ASSERT(Invariants());
60: }
61:
62: // Converts a character array to a String
63: String::String(const char * const cString)
64: {
65: itsLen = strlen(cString);
66: itsString = new char[itsLen+1];
67: for (int i = 0; i<itsLen; i++)
68: itsString[i] = cString[i];
69: itsString[itsLen]=\0;
70: ASSERT(Invariants());
71: }
72:
73: // copy constructor
74: String::String (const String & rhs)
75: {
76: itsLen=rhs.GetLen();
77: itsString = new char[itsLen+1];
78: for (int i = 0; i<itsLen;i++)
79: itsString[i] = rhs[i];
80: itsString[itsLen] = \0;
81: ASSERT(Invariants()); |
|
|
|
 |
|
|
|
|
continues |
|
|
|
|
|