使一个成员函数等于另一个

时间:2015-11-17 07:44:45

标签: c++ function class member

假设我有类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;
}

0 个答案:

没有答案