Website Summary Files Commits Branches @commit @diff @stats
path: root / Classes / String / String.h
diff options
context:
space:
mode:
Commit112a0d344da9e66d20ee9ab5d488e59c5d52e6ad (patch)
Author
 Angeld55 <angel_dimitriev@abv.bg>
2020-04-09 18:09:42 +0300
Committer
 Angeld55 <angel_dimitriev@abv.bg>
2020-04-09 18:09:42 +0300
Filese3bb9cf17c24a3b53c746d9142906d550d549465 /Classes/String/String.h
Object-oriented_programming_FMI-112a0d344da9e66d20ee9ab5d488e59c5d52e6ad.tar
Object-oriented_programming_FMI-112a0d344da9e66d20ee9ab5d488e59c5d52e6ad.tar.gz
Object-oriented_programming_FMI-112a0d344da9e66d20ee9ab5d488e59c5d52e6ad.zip
Parentec26fab32d144b436d08f9da6049bd053156d783 (diff)
added new examples
1 files changed, 45 insertions, 0 deletions
-rw-r--r--Classes/String/String.h45
diff --git a/Classes/String/String.h b/Classes/String/String.h
new file mode 100644
index 0000000..37bbc6d
--- /dev/null
+++ b/Classes/String/String.h
@@ -0,0 +1,45 @@
+#ifndef STRING_HDR
+#define STRING_HDR
+
+#include<iostream>
+#include<fstream>
+
+const int MAX_SIZE = 1024;
+
+class String {
+
+private:
+ char* str;
+ int len;
+
+ void CopyFrom(const String& other);
+ void Free();
+
+public:
+ String();
+ String(char ch);
+ String(const char* str);
+ String(const String& other);
+ String& operator=(const String& other);
+ ~String();
+
+ int getLenght() const;
+ String SubString(int start);
+ String SubString(int start, int end);
+ int IndexOf(const String& other, int index); //return the index of the first encounter of other in the object
+ int IndexOf(const char* str, int index); //reusing IndexOf(const String& other, int index)
+ int CountOcurences(String str); // How many times a string is found as substring
+ int GetOcurence(String str, int i); //Get if the i-th substring (count start from 1)
+
+ const char& operator[](int index) const;
+ char& operator[](int index);
+ String& operator+=(const String& other); //return the concatenation of the object with other
+ friend bool operator==(const String& lhs, const String& rhs); //return true if two strings are equivalent
+ friend bool operator!=(const String& lhs, const String& rhs); //return true if two strings are not equivalent
+ friend std::ostream& operator<<(std::ostream& os, const String& obj);
+ friend std::istream& operator>>(std::istream& is, String& obj);
+
+ String* Split(String str);
+};
+const String operator+(const String& lhs, const String& rhs);
+#endif // !STRING_HDR \ No newline at end of file