gpt4 book ai didi

c++ - 派生类的前向声明

转载 作者:行者123 更新时间:2023-11-30 04:18:13 25 4
gpt4 key购买 nike

我有一些这样的代码:

class Class1 {
// some code here

Class2 inverse() {
// some code here
}
};

class Class2 : public Class1 {
// some code here
};

我得到一个错误,Class2 在函数 inverse 中是未知的。我可以声明那个类吗?如何声明?

最佳答案

您可以在 Class1 之前转发声明 Class2。然后,您必须将 inverse 函数声明与定义分开。所以你应该在定义 Class2 之后定义它:

class Class2;
class Class1 {
// some code here

Class2 inverse();
};

class Class2: public Class1 {
// some code here
};

Class2 Class1::inverse()
{
return Class2();
}

但是,老实说,这是糟糕的设计。

关于c++ - 派生类的前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552014/

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