polymorp.cpp

来自「C/C++使用技巧1001例一书的配套代码」· C++ 代码 · 共 34 行

CPP
34
字号
#include <iostream.h>
#include <stdlib.h>

class Base {
 public:
   virtual int add(int a, int b) { return(a + b); };
   virtual int sub(int a, int b) { return(a - b); };
   virtual int mult(int a, int b) { return(a * b); };
};

class ShowMath : public Base {
   virtual int mult(int a, int b) 
    { 
      cout << a * b << endl; 
      return(a * b); };
};

class PositiveSubt : public Base {
   virtual int sub(int a, int b) { return(abs(a - b)); };
};

void main(void)
 {
   Base *poly = new ShowMath;

   cout << poly->add(500, 501) << ' ' << poly->sub(1500, 499) << endl; 
   poly->mult(1001, 1);

   poly = new PositiveSubt;
   cout << poly->add(800, 201) << ' ' << poly->sub(0, 1001) << endl;
   cout << poly->mult(1, 1001);
 }

⌨️ 快捷键说明

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