Также в этот класс вводятся методы для сравнения строк и ряд других полезных функций, заметно облегчающих работу с этим классом. Ниже приводится описание этого класса.

class String : public Object
' {
private:
char * contents;
intlength; // actual length of string
intmaxLength; // size of preallocated buffer
public:
String ();
String ( const char * value ); String ( const Strings str ); String ( int value ); String ( float value );
-String () {
delete contents;
}
virtual bool isOk () const
II returns non-zero if objects is ok
{
return contents != NULL && maxLength > 0 && length < maxLength;
}
virtual bool isNull () const {
return contents == NULL;
}

Объектная модель. Основные классы

Virtual long hash () const // return hash for object (
return crc32 ( contents, length );
// returns non-zero if this object is // equal to the object obj virtual int compare ( const Object * obj ) const;
intcaselnsensitiveCompare ( const Strings str ) const {
return stricmp ( contents, str.contents );
}
operator const char * () const {
return contents;
}
const char * c_str () const {
return contents;
}
Strings operator = ( const Strings str ); Strings operator = ( char ch );
Strings operator += ( const Strings str ) {
append ( str.contents ); return *this;
}
Strings operator += ( const char * str ) {
append ( str ); return *this;
}
Strings operator += ( char ch );
String operator + ( const Strings str ) const {
String s ( *this );
s.append ( str.contents ) ;
return s; ,
}
String operator + (const char * str ) const
{
String s ( *this ) ;
s.append ( str );
return s;
}
String operator + (char ch ) const {
String s ( *this ); return s += ch;
}
bool operator == ( const Strings str ) const {
return strcmp ( contents, str.contents ) == 0;
}
bool operator != ( const Strings str ) const {
return strcmp (contents, str.contents ) != 0;
}
bool operator < ( const Strings str ) const {

⇐ Предыдущая| |Следующая ⇒