質問。これも多態?
#include <iostream>
class A {
public:
  void print() { std::cout << "A" << std::endl; }
};
class B {
public:
  void print() { std::cout << "B" << std::endl; }
};

template<typename T> void print(T t) {
  t.print(); // これ
}

int main() {
  A a;
  print(a);
  B b;
  print(b);
  return 0;
}