strminus.cpp

来自「c c++最佳编程 1000 多个小技巧 源码」· C++ 代码 · 共 49 行

CPP
49
字号
/* Another way to overload the - operator */

#include <iostream.h>
#include <iomanip.h>
#include <string.h>

class String {
  public: 
    char *operator +(char *append_str)
      { return(strcat(buffer, append_str)); };
   
    char *operator -(char letter);

    String(char *string) 
      { strcpy(buffer, string); 
        length = strlen(buffer); }

    void show_string(void) { cout << buffer; };
  private:
    char buffer[256];
    int length;
};

char *String::operator -(char letter)
 { 
   char target[256];
   int i, j;

   for (i = 0, j = 0; buffer[j]; j++) 
     if (buffer[j] != letter)
       target[i++] = buffer[j];
   target[i] = NULL;
   
   for (i = 0, j = 0; (buffer[j] = target[i]); i++, j++)
     ; 
   return(buffer);
 }

void main(void)
 {
   String title("Jamsa's C/C++ ");

   title = title + "Programmer's Bible\n";
   title.show_string();
   title = title - '0';
   title.show_string();
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?