次のように「構成」を使用してクラスを作成しています-
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
ですか?
ありがとう。