>>221
共に通常のclassとして宣言し、interfaceのメソッドとabstractメソッドをC++ではvirtualメンバ関数にすればよい。
virtualでないメンバ関数は、派生クラスのオブジェクトを基底クラスのポインタ・参照から使うと、基底クラスのメンバ関数が呼ばれる。
#include <iostream>
using namespace std;
class A {
public:
  f() {cout << "A::f()" << endl;}
  virtual g() {cout << "A::g()" << endl;}
};
class B : public A{
public:
  f() {cout << "B::f()" << endl;}
  virtual g() {cout << "A::g()" << endl;}
};
int main() {
  A *p = new B;
  p->f(); //A::fが呼ばれる。
  p->g(); //B::fが呼ばれる。
  delete p;
}