additional meanings for the + and = operations : Plus « Overload « C++






additional meanings for the + and = operations

  
#include <iostream>  
#include <string.h>  
using namespace std;
class str_type {  
  char string[80];  
public:  
  str_type(char *str = "\0") { strcpy(string, str); }  
     
  str_type operator+(str_type str);  
  str_type operator+(char *str);  
     
  str_type operator=(str_type str);  
  str_type operator=(char *str);  
     
  void show_str(void) { cout << string; }  
} ;  
     
str_type str_type::operator+(str_type str) {  
  str_type temp;  
     
  strcpy(temp.string, string);  
  strcat(temp.string, str.string);  
  return temp;  
}  
     
str_type str_type::operator=(str_type str) {  
  strcpy(string, str.string);  
  return *this;  
}  
     
str_type str_type::operator=(char *str)  
{  
  str_type temp;  
     
  strcpy(string, str);  
  strcpy(temp.string, string);  
  return temp;  
}  
     
str_type str_type::operator+(char *str)  
{  
  str_type temp;  
     
  strcpy(temp.string, string);  
  strcat(temp.string, str);  
  return temp;  
}  
     
main(void)  
{  
  str_type a("Hello "), b("There"), c;  
     
  c = a + b;  
     
  c.show_str();  
  cout << "\n";  
     
  a = "to program in because";  
  a.show_str();  
  cout << "\n";  
     
  b = c = "C++ is fun";  
     
  c = c+" "+a+" "+b;  
  c.show_str();  
     
  return 0;  
}
  
    
  








Related examples in the same category

1.Overload the + relative to MyClass.Overload the + relative to MyClass.
2.Overload + for 'ob + int' as well as 'ob + ob'.Overload + for 'ob + int' as well as 'ob + ob'.
3.String class with custom +/- operator
4.overload the "+" operator so that several angles, in the format degrees minutes seconds, can be added directly.
5.Friendly operator+
6.overloaded '+' operator adds two Distances
7.overloaded '+' operator concatenates strings
8.+ is overloaded for three_d + three_d and for three_d + int.
9.Define operator +(plus) and cast to double operator
10.Overloading the + (or any other binary operator) using a friend allows a built-in type to occur on the left or right side of the operator.
11.friend overloaded + operator