Advertisement
fuadnafiz98

11 - 03 - 2019

Mar 11th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. #include <string>
  4. #include <math.h>
  5. #include <stdlib.h>
  6.  
  7. using namespace std;
  8.  
  9. class MyString{
  10. private:
  11.     char *str;
  12. public:
  13.     MyString(const MyString &obcpy);
  14.     MyString(){
  15.         str = NULL;
  16.         cout << "Defalt constructor.\n";
  17.     }
  18.     MyString(const char* c){
  19.         int len = strlen(c);
  20.         str = (char *)malloc(len * sizeof(char));
  21.         str = new char[len];
  22.         strcpy(str, c);
  23.         cout << "Constructing ... " << c << '\n';
  24.     }
  25.     char* getStr(){
  26.         return str;
  27.     }
  28.     ~MyString(){
  29.         cout << "Distructing ... "<< (str == NULL ? "NULL" : str) << "\n";
  30.         free(str);
  31.         delete [] str;
  32.     }
  33.     MyString strCmp(MyString s1, MyString s2){
  34.         if(strlen(s1.getStr()) > strlen(s2.getStr())) {
  35.                 return s1;
  36.         }
  37.         else return s2;
  38.  
  39.     }
  40. };
  41.  
  42. MyString :: MyString(const MyString &obcpy){
  43.     int len = strlen(obcpy.str);
  44.     str = new char[len];
  45.     strcpy(str, obcpy.str);
  46.     strcat(str, "+");
  47.     cout << "Copy Constructor ... " << str << '\n';
  48. }
  49.  
  50. int main(){
  51.     MyString ss1;
  52.     MyString ss2("Fuad");
  53.     MyString ss3("Nafiz");
  54.     MyString ss4("axaxax");
  55.     char * ret;
  56.     ret = ss2.getStr();
  57.     cout << ret << endl;
  58.     ss4 = ss2.strCmp("Hafiz", "ab");
  59.     cout << "Returned after compare ... " << ss4.getStr() << '\n';
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement