如何正确声明子类?(C++)
How to properly declare a subclass? (C++)
当使用需要使用子类的函数时,我有一个错误,该子类尚未声明。那么我将如何声明这个子类而不会在以后重新声明的情况下呢?
这是代码外观的一般概念:
class MyClass {
public:
void myFunction(Node* myNode);
private:
class Node {
public:
Node();
Node(string myString, int myInt);
~Node();
string m_string;
private:
int m_int;
}
};
那么在这种情况下,我将如何声明 Node,以便它可以在 myFunction 中使用,而无需稍后重新声明它?
通过在声明(和定义)嵌套类那么我将如何声明这个
子类[嵌套类]而不会在以后重新声明的情况下呢?
之前声明(和定义)嵌套类,然后声明依赖于嵌套类声明的参数的成员函数。
class MyClass {
private:
class Node {
public:
Node();
Node(string myString, int myInt);
~Node();
string m_string;
private:
int m_int;
}
public:
void myFunction(Node* myNode);
};
虽然前向声明足以声明带有指针参数的函数,但嵌套类不能向前声明。
相关文章:
- 继承期间显示未知行为的子类
- 通过指向指针数组的指针访问子类的属性
- 从父类方法返回子类对象
- c++, 在子类中,如何在没有对象的情况下访问父类的方法?
- 将父类对象强制转换为子类的问题
- 避免在C++中重复子类定义
- 将QOpenGLWidget子类转换为使用Metal而不是OpenGL的子类是否可行?
- 如何初始化矢量的模板化子类
- C++ 继承:将子类传递给需要基类的函数并获取子类行为
- 有没有办法按值将纯抽象类的所有子类传递给 C++ 中的函数?
- 使用子类覆盖基类中定义的函数
- 子类地址等于虚拟基类地址?
- 将子类方法声明为基类的友元
- C++子类共享变量?
- 如何检查模板专用化是否是基本模板的子类?
- 仅让特定类'Fabric'构造类'Foo'及其所有子类的实例
- 使用模板参数重载C++方法:如何使其适用于模板的子类?
- 基类中的默认析构函数禁用子类中的移动构造函数(如果有成员)
- 如何在C++子类中访问父类的私有变量
- 将父类的子类的数据复制到具有相同父类的另一个类