我正在使用“组合”编写课程,如下所示 -
class fibonacci
{
private:
FibonacciDynamic dy();
FibonacciRecursive re();
FibonacciSequential se();
int count;
public:
fibonacci(int a):count(a){};
void disp();
};
void fibonacci::disp()
{
if(count < 20)
{
se.fib();
}
else if(count < 50)
{
re.fib();
}
else
{
dy.display();
}
}
这里, FibonacciDynamic
, FibonacciRecursive
&FibonacciSequential
是在头文件中声明的类。现在,这里的主要问题是,在使用se.fib()
, re.fib
&dy.fib()
函数时,它给了我类似的错误
error C2228: left of '.fib' must have class/struct/union
有没有其他方法可以在这里使用组合方法而不会出现上述错误?
如果不是,那么是否可以将它们用作朋友类并在类的成员函数中访问它们的成员函数fibonacci
?
谢谢。