96 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
| 
 | |
| 
 | |
| #include "SimpleString.h"
 | |
| #include <string.h>
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| 
 | |
| 
 | |
| static const int DEFAULT_SIZE = 20;
 | |
| 
 | |
| SimpleString::SimpleString ()
 | |
| : buffer(new char [1])
 | |
| {
 | |
| 	buffer [0] = '\0';
 | |
| }
 | |
| 
 | |
| 
 | |
| SimpleString::SimpleString (const char *otherBuffer)
 | |
| : buffer (new char [strlen (otherBuffer) + 1])
 | |
| {
 | |
| 	strcpy (buffer, otherBuffer);
 | |
| }
 | |
| 
 | |
| SimpleString::SimpleString (const SimpleString& other)
 | |
| {
 | |
| 	buffer = new char [other.size() + 1];
 | |
| 	strcpy(buffer, other.buffer);
 | |
| }
 | |
| 
 | |
| 
 | |
| SimpleString SimpleString::operator= (const SimpleString& other)
 | |
| {
 | |
| 	delete buffer;
 | |
| 	buffer = new char [other.size() + 1];
 | |
| 	strcpy(buffer, other.buffer);	
 | |
| 	return *this;
 | |
| }
 | |
| 
 | |
| 
 | |
| char *SimpleString::asCharString () const
 | |
| {
 | |
| 	return buffer;
 | |
| }
 | |
| 
 | |
| int SimpleString::size() const
 | |
| {
 | |
| 	return strlen (buffer);
 | |
| }
 | |
| 
 | |
| SimpleString::~SimpleString ()
 | |
| {
 | |
| 	delete [] buffer;
 | |
| }
 | |
| 
 | |
| 
 | |
| bool operator== (const SimpleString& left, const SimpleString& right)
 | |
| {
 | |
| 	return !strcmp (left.asCharString (), right.asCharString ());
 | |
| }
 | |
| 
 | |
| 
 | |
| SimpleString StringFrom (bool value)
 | |
| {
 | |
| 	char buffer [sizeof ("false") + 1];
 | |
| 	sprintf (buffer, "%s", value ? "true" : "false");
 | |
| 	return SimpleString(buffer);
 | |
| }
 | |
| 
 | |
| SimpleString StringFrom (const char *value)
 | |
| {
 | |
| 	return SimpleString(value);
 | |
| }
 | |
| 
 | |
| SimpleString StringFrom (long value)
 | |
| {
 | |
| 	char buffer [DEFAULT_SIZE];
 | |
| 	sprintf (buffer, "%ld", value);
 | |
| 
 | |
| 	return SimpleString(buffer);
 | |
| }
 | |
| 
 | |
| SimpleString StringFrom (double value)
 | |
| {
 | |
| 	char buffer [DEFAULT_SIZE];
 | |
| 	sprintf (buffer, "%lf", value);
 | |
| 
 | |
| 	return SimpleString(buffer);
 | |
| }
 | |
| 
 | |
| SimpleString StringFrom (const SimpleString& value)
 | |
| {
 | |
| 	return SimpleString(value);
 | |
| }
 | |
| 
 | |
| 
 |