:: subtract does work well We do'not include stdio.h and stdlib.h, so, we think, "Linked well". 20191122: we've already recognised twice call. > .\winmain_001.exe p( 0.000000, 1.000000, 2.000000) p( 0.000000, 1.000000, 3.000000) --- #include "vPoint.h" #include "vLine.h" #include "vCalculation.h" int main () { vCalculation* calc = new vCalculation();; vPoint *a, *b, *c, *d; a= new vPoint( 5.0f, 5.0f, 5.0f); b= new vPoint( 5.0f, 4.0f, 3.0f); d= new vPoint( 5.0f, 4.0f, 2.0f); c = calc->subtract( a, b ); c->print(); c = calc->subtract( a, d ); c->print(); return 0; } --- 20191122: we've already recognised just one call .\winmain_001.exe p( 0.000000, 1.000000, 2.000000) --- #include "vPoint.h" #include "vLine.h" #include "vCalculation.h" int main () { vCalculation* calc = new vCalculation();; vPoint *a, *b, *c; a= new vPoint( 5.0f, 5.0f, 5.0f); b= new vPoint( 5.0f, 4.0f, 3.0f); c = calc->subtract( a, b ); c->print(); return 0; }