online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/****************************************************************************** The main function is at the bottom of this source file. *******************************************************************************/ #include <stdio.h> #include <iostream> class StringF { private: const char* string; public: StringF(const char*); int length(); const char* copy(); const char* getString(); const char* reverse(); int find(const char*); StringF& operator+=(StringF&); friend std::ostream& operator<<(std::ostream&, StringF&); }; std::ostream& operator<<(std::ostream& os, StringF& string) { os << string.getString(); return os; } StringF& StringF::operator+=(StringF& obj) { const char* string = this->getString(); const char* stringToAppend = obj.getString(); const int stringLength = this->length(); const int stringToAppendLength = obj.length(); char* appendedString = new char[stringLength + stringToAppendLength]; appendedString[stringLength + stringToAppendLength] = '\0'; for (int i = 0; i < stringLength; i++) { appendedString[i] = string[i]; } for (int i = stringLength; i < stringLength + stringToAppendLength; i++) { appendedString[i] = stringToAppend[i - stringLength]; } StringF appendedObj(appendedString); std::cout << "Appended obj: " << appendedObj.getString() << std::endl; //For debugging return appendedObj; } StringF::StringF(const char* string) { StringF::string = string; } const char* StringF::getString() { return StringF::string; } int StringF::length() { int length = 0; for (int i = 0; i < 9000; i++) { if (StringF::string[i] != 0) { length++; } else { break; } } return length; } int main() { StringF s("Hello"); StringF s2(", World!"); s += s2; std::cout << s << std::endl; return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue