30 lines
571 B
C++
30 lines
571 B
C++
// somedefs.h
|
|
#include <iostream>
|
|
|
|
template <typename T, typename F>
|
|
T use_f(T v, F f)
|
|
{
|
|
static int count = 0;
|
|
count++;
|
|
std::cout << "use_f count = " << count
|
|
<< ", &count = " << &count << endl;
|
|
return f(v);
|
|
}
|
|
|
|
class Fp
|
|
{
|
|
private:
|
|
double z_;
|
|
public:
|
|
Fp(double z = 1.0) : z_(z) {}
|
|
double operator()(double p) { return z_*p; }
|
|
};
|
|
|
|
class Fq
|
|
{
|
|
private:
|
|
double z_;
|
|
public:
|
|
Fq(double z = 1.0) : z_(z) {}
|
|
double operator()(double q) { return z_+ q; }
|
|
}; |