M>Хочу добавить в него указатель на функцию, который будет устанавливаться в конструкторе и при вызове обращаться либо к func1 либо к func2
M>Как это можно сделать?
#include <iostream>
using namespace std;
class A {
public:
typedef void (A::*f)();
f selector;
void func1() {cout << "F1" << endl;}
void func2() {cout << "F2" << endl;}
void call_selector() { (this->*selector)();}
A(bool s) {
if (s == true)
selector = &A::func1;
else
selector = &A::func2;
}
};
int main() {
A f1(true);
A f2(false);
(f1.*(f1.selector))();
f1.call_selector();
(f2.*(f2.selector))();
f2.call_selector();
}