1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#include <math.h>
class Point
{
private:
void Print(double n);
protected:
double x, y;
public:
Point(double x, double y);
double Norm_LP(void);
};
/** This global variable will contain the address of Point::Print once the
livepatch is installed. */
extern "C" {
double (Point::*Print_LP)(double) = nullptr;
}
double Point::Norm_LP(void)
{
double n = cbrt(x*x*x + y*y*y);
/** Since we declare it as a function, we must explicitely pass the 'this'
pointer. */
(this->*Print_LP)(n);
return n;
}
|