On Friday, 3 October 2014 at 15:44:16 UTC, eles wrote:
class ShapeSurface(T) {
public:
int formula();
that means you have a definition of formula elsewhere (which the linker tries to find, but obviously fails. What you want is
class ShapeSurface(T) {
public:
abstract int formula();
