gpt4 book ai didi

c++ - 使用复合类或友元类将其他类的成员函数访问到 `this`类的成员函数中

转载 作者:行者123 更新时间:2023-11-28 02:58:02 25 4
gpt4 key购买 nike

我正在使用“组合”编写一个类,如下所示 -

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();
}
}

这里,FibonacciDynamicFibonacciRecursive & FibonacciSequential 是在头文件中声明的类。现在,这里的主要问题是,在使用 se.fib()re.fibdy.fib() 函数时,它给了我类似错误

error C2228: '.fib' 的左侧必须有类/结构/union

有没有其他方法可以在这里使用组合方法而不会出现上述错误?

如果不是那么是否可以将它们用作友元类并在 fibonacci 类的成员函数中访问它们的成员函数?

谢谢。

最佳答案

斐波那契动态 dy();是 FibonacciDynamic fibonacci::dy() 方法的声明;

您应该删除括号以使其成为数据成员声明:

...
FibonacciDynamic dy;
...

关于c++ - 使用复合类或友元类将其他类的成员函数访问到 `this`类的成员函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21544253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com