假设我有类test_1,在那个班级我有一个公共函数foo_1。
稍后,在main中,我创建了类test_1的两个对象(A,B)。对于对象A,我需要foo_1来执行此操作:a + b,对于对象B,我需要foo_1来执行:a - b。 也许以后我会创建对象C,我需要他的foo_1来执行:2.0 * a。
但这不是全部)) 我可以创建函数boo_1,boo_2,boo_3来执行我需要的任务,并使foo_1成为指针,并执行以下操作:
A.foo_1 = &boo_1 ;
B.foo_1 = &boo_2 ;
C.foo_1 = &boo_3 ;
但是。我有另一个类test_2,该类的对象需要使用类test_1的特定对象中的函数foo_1。
我可以以某种方式为foo_1函数创建不同的主体,具体取决于对象吗? 然后将类test_1的objct.foo_1分配给类test_2的objct.foo_2? 或者我需要创建boo_#函数,然后像这样做:
class test_1{
public:
void (*foo_1)(int);
};
class test_2{
public:
void (*foo_2)(int);
};
void boo_1(int);
void boo_2(int);
void boo_3(int);
int main{
test_1 A,B,C ;
A.foo_1 = &boo_1 ;
B.foo_1 = &boo_2 ;
C.foo_1 = &boo_3 ;
test_2 AA, BB, CC;
AA.foo_2 = &boo_1 ;
BB.foo_2 = &boo_2 ;
CC.foo_2 = &boo_3 ;
return 0;
}