Compile-time Polymorphism(полиморфизм времени компиляции) - полиморфизм, который разрешается на этапе компиляции. Пример такого полиморфизма - использование шаблонов.

Runtime Polymorphism - обычный, наиболее распространенный полиморфизм, который разрешается на этапе исполнения(запуска) программы.

Пример полиморфизма времени компиляции :

#include <iostream>
template <class T>
struct my_template {
    T foo;
    my_template() : foo(T()) {}
};
template <>
struct my_template<int> {
    enum { foo = 42 };
};
int main() {
    my_template<int> x;
    my_template<long> y;
    my_template<std::string> z;
    std::cout << x.foo << std::endl;
    std::cout << y.foo << std::endl;
    std::cout << z.foo << std::endl;
    return 0;
}

Пример полиморфизма времени исполнения :

void foo(float);
void foo(int);